php面向对象:封装
OOP三大特性:封装、继承、多态。
封装的目的:为了让类更安全
封装的做法:
1.类里面的成员变量做为private
2.使用成员方法来间接访问成员变量
3.在该方法里面加限制条件
注意:php类里面不允许出现同名方法。构造方法:写法特殊,执行时间特殊。
class Ren { private $name; private $sex; private $age; //条件:年龄必须在18-50之间 function __construct($v) { $this->sex = $v; } //魔术方法set function __set($n,$v) { if($n=="age") { if($v>=18 && $v<=50) { $this->$n = $v; } } else { $this->$n = $v; } } //魔术方法get function __get($n) { return $this->$n; } //设置age的值 function setage($a) { if($a>=18 && $a<=50) { $this->age = $a; } } //获取age的值 function getage() { return $this->age; } function say() { echo "hello"; } //析构方法 function __destruct() { echo "这是一个析构方法"; } function __tostring() { return "这个类是人类"; 这里可以return一个注释,解释。 } } $r = new Ren("男"); //$r->setage(20); //echo $r->getage(); $r->say(); //$r->age = 30; //echo $r->age; //$r->__get("age"); //$r->__set("age",20); var_dump($r);