当前位置:  首页>> 技术小册>> PHP8入门与项目实战(4)

另一个很好用的函数是访问方法(accessor)。由于OOP思想并不鼓励直接从类的外部访问类的属性,以强调封装性,因此可以使用_get和_set方法来达到此目的,也就是说要使用访问函数。无论何时,类属性被访问和操作,访问方法都会被激发。通过使用它们可以避免直接对类属性的访问。

下面通过实例介绍访问方法的使用方法和技巧。

【例8.3】

运行结果如图8-3所示。

【案例分析】
(1)$xiaoshuai为类guest的实例。直接添加属性name和gender,并且赋值,如”$xiaoshuai->name = “刘小帅”; $xiaoshuai->gender = “男性”;”,此时,类guest中的_set函数被调用。$dingdang实例为同样的过程。另外,$dingdang实例添加了一个对象属性age。

(2)echo命令中用到的对象属性,如$xiaoshuai->name等,则是调用了类guest中的_get函数。

(3)此例中,_set方法的格式为:

  1. function _set($propName,$propValue){
  2. $this->$propName = $propValue;
  3. }

_get方法的格式为:

  1. function _get($propName){
  2. return $this->$propName;
  3. }

其中,$propName为“属性名”,$propValue为“属性值”。