面向对象三大特性

面向对象的三大特性:封装 ,继承 ,多态
封装:为了使这个类更加安全
三个步骤:1.将成员变量变为私有
2.做一个成员方法间接访问
3.在该方法里面加限制条件
 class Ren

{
private $name;
function setName($n)
{
if($n>=18 && $n<=50)
{
$this->name = $n;
}
}
function getName()
{
return $this->name;
}
}
$r = new Ren();
$r->setName=("张三");
echo $r->getName();

魔术方法,给变量赋值
function __set ($n,$v)
{
$this->$n=$v;
}

魔术方法,取变量值
function __get($n)

继承:子类可以继承父类的一切 ,关键字extends
特点:单继承,一个子类只能有一个父类,但是父类可以有多个子类
class Ren
{
public $name;

function Run()
{
echo "老炮";
}
}
class China extends Ren
{
重写 override在子类里定义一个同名的方法
function Run()
{
parent::Run();//调用父类
echo "老炮出山";
}
}
$a = new China();
$a->Run();


多态:当父类引用指向子类实例的时候,由于子类对父类的方法重写,该引用在调用的时候表现的不同就叫多态

posted @ 2017-04-20 15:52  陈山河z  阅读(123)  评论(0编辑  收藏  举报