Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php 对对象的属性怎么操作

php 对对象的属性怎么操作

怪我咯
怪我咯asal
2017-06-28 13:58:375959semak imbas

在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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn