在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; }
以上是php 對物件的屬性怎麼操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!