面向对象的三大特性
一,封装
1.将成员变量变为私有
2.做一个成员方法来间接访问
3.在该方法里面加限制条件
目的:为了使类更加安全
class Ren
{private $age;//18-50之间
function setAge($n)
{if($n>=18&& $n<=50)
$this_>age =$n;}
}//if的作用就是封装,age不是在18-50之间的就没办法赋值
function getAge()
{reurn $this->age;
}
}
魔术方法,给变量赋值:
class Ren
{private $age;
function__set($n,$v)
{
$this->$n=$v}
}
$r=new Ren();
$r->age=20;//可以给变量赋值了!一个方法可以给多个方法赋值。
判断就是用if else
魔术方法,取变量值
function __get($n){
renturn $this->$n;
}
二,继承
子类可以继承父类的一切
特点:单继承
class Ren
{
public $name;
}
class China extends Ren//China就是Ren的子类{
//重写 override
functions Run(){
parent::Run();//调用父类的方法
echo"中国人跑步";}
}
三,多态(在php中是显示不出来的)
//当父类引用指向子类实例的时候,由于子类对父类的方法进行了重写,该引用在调用方法的时候表现出的不同