另一个很好用的函数是访问方法(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方法的格式为:
function _set($propName,$propValue){
$this->$propName = $propValue;
}
_get方法的格式为:
function _get($propName){
return $this->$propName;
}
其中,$propName为“属性名”,$propValue为“属性值”。