面向对象的三大特性:封装,继承,多态。
封装
封装类,让类更安全,让一些成员变量不能被外界直接被访问。
方法:
1.将成员变量变为private。
2.在类里面做一个成员方法来间接访问。
3.在该方法里面加限制条件
4. 标准情况下每一个成员变量都要做封装。
class Ren{ public $name; public $sex; public $birthday; private $age; public function setage($age){ if($age>=18 && $age<=50){ $this->age = $age;} } public function getage(){ return $this->age; } } $r = new Ren(); $r->name = "张三"; $r->setage(20); var_dump($r);
继承
概念:子类可以继承父类的一切。父类起到指导性的作用。
特点:单继承
关键字: extends
class Ren{ public $name; public $sex; public function say(){ echo "人在讲话"; } } class China extends Ren{ } $c = new China(); $c->say();
重写:子类可对父类的函数重写。override
重载:一个方法多个功能,因为参数个数不同。方法名相同,参数个数不同。也叫编译多态。
多态:当父类引用指向子类实例时,由于子类对父类方法进行了重写,在调用该方法的时候表现的不同,称为多态。也叫运行多态。