在java中,我们需要对属性进行封装,这也是面向对象的一大性质之一,我们在java中对属性封装之后,可能会对每个属性设置set,get方法,这样才能对属性进行访问,在php中,同样的也是一个道理,但是在php中不用把所有的对象都设置,它默认的有一个get()set()的魔术方法,提供给我们便于访问private的属性,如下:
class person{ private $name;//这是private类型的属性,我们直接使用对象->属性是访问不到的。我们需要添加魔术方法get()才可以访问 private $age; private function get($proname){//get方法是系统调用的,添加此魔术方法之后,我们直接对象->属性名获取值时,系统会自动地调用这个方法,但是我们必须添加参数,以及添加方法体。 return $this->$proname; } private function set($proname,$value){//设置参数,我们需要设置两个参数 echo "set<br>"; $this->$proname=$value; } public function construct($name,$age){ $this->name=$name; $this->age=$age; } }
注意以下几点:
我们对类属性进行封装之后,如果设置属性为private的话,那么直接:对象->属性是访问不到的,我们需要添加get()方法才能访问得到
如果我们的属性设置了private的情况下,我们直接:对象->属性=值,同样也是没法设置的, 我们也需要添加_set()方法才能访问得到。
实现:
private function get($proname){ return $this->$proname; } private function set($proname,$value){ $this->$proname=$value; }
Atas ialah kandungan terperinci php 对对象的属性怎么操作. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!