我们真的需要私有变量的getter和setter吗? 因为它们只用在物体中,而不是我在其他地方 认为没有必要。
我查看了一些框架,我看到有一个混合。 有时候getter / setter有时候没有(例如Symfony2框架)。
我的意见是他们在课堂上只占用太多代码。
答案 0 :(得分:0)
如果要更改或读取值,则只需要一个setter或getter。例如,如果您只使用getter,那么该值就是readonly。
答案 1 :(得分:0)
这取决于您的需求,但即使您在内部使用它们,请考虑以下情况:
class CalendarEvent{
private $date;
// with type hinting, you are sure to deal with a DateTime instance
public function setDate(DateTime $date){
$this->date = $date;
}
public function getDate(){
return $this->date;
}
}
在所有代码库中保持一致,在我看来,为每个属性设置getter / setter都没有坏处。
[占用太多代码应该没有争论,只要它们有用。]
答案 2 :(得分:0)
即使私有(在对象内)如果你想设置/改变私有属性的值几次你可以从getter / setter中受益,如果你必须对值进行操作/验证,即一些清理,控制如果是空的或类似的东西......它只是一个指导原则,而不是规则,必须在每种情况下进行评估。