类的成员属性可以封装,成员方法也可以封装,所谓封装就是用private关键词来修饰属性和方法,被封装后的属性和方法就变为私有属性和私有方法,这样的私有属性和方法不能被外部对象直接访问和使用,只能在类的内部使用,也就是说只能用$this访问到,私有方法供内部的其他方法调用,如果想让外部new出来的对象可以访问私有属性,可以在类里声明一个公共方法,一般不需要自己声明,可以用魔术方法__set和__get做到,魔术方法在需要的时候会自动调用,魔术方法都有由两个下划线组成的前缀。看下面的例子
class Person{
private $name;
private $sex ="保密";
function __get($proName){
return $this->$proName;
}
}
$p= new Person;
echo $p->sex;
面向对象的三大特性之一【封装】,布布扣,bubuko.com
时间: 2024-11-18 12:35:19