【问题标题】:What's the point of using getters and setters if they will always stay default/"empty"? [duplicate]如果 getter 和 setter 始终保持默认/“空”,那么使用它们有什么意义? [复制]
【发布时间】:2014-04-14 19:41:39
【问题描述】:
如果 getter 和 setter 始终保持默认/空,那么使用它们有什么意义?
我的意思是默认/空的getter和setter:
public function __get($property)
{
return $this->$property;
}
public function __set($propertyName, $value)
{
$this->$propertyName = $value;
}
【问题讨论】:
标签:
php
oop
setter
getter
getter-setter
【解决方案1】:
@j08691的链接很好理解getter和setter背后的理论。魔术方法很棒,但也有很多缺点。
【解决方案2】:
很多时候你是对的,如果你从不期望使用它们,它们是毫无意义的,但是它们的重点是确保只使用这些设置和返回类属性,所以即使你的参数是从在课堂上你应该使用它们。这样你就可以保证它们只有一个接口。为什么你想要一个你问的地方?好吧,如果您决定更改有关参数的任何内容,例如限制存储在其中的值或使用数据库更改其存储方式,那么您就可以从直接访问它的抽象和一个需要更改的地方,而不是搜索整个类(以及从它继承的任何类),而是查找使用该参数的所有位置。
这有意义吗?