从不是 getter/setter 方法的对象方法中访问对象属性的“纯粹”或“正确”方法是什么?
我知道从对象外部你应该使用 getter/setter,但你会在内部使用:
Java:
String property = this.property;
PHP:
$property = $this->property;
或者你会这样做:
Java:
String property = this.getProperty();
PHP:
$property = $this->getProperty();
如果我的 Java 有点偏离,请原谅我,我已经一年没有用 Java 编程了......
编辑:
似乎人们认为我只是在谈论私有(private)或 protected 变量/属性。当我学习 OO 时,我被教导为每个属性使用 getter/setter,即使它是公共(public)的(实际上我被告知永远不要将任何变量/属性公开)。所以,我可能是从一开始的错误假设开始的。似乎回答这个问题的人可能会说你应该拥有公共(public)属性,而那些不需要 getter 和 setter,这与我所学的内容和我所说的内容背道而驰,尽管也许这需要讨论为出色地。不过,对于不同的问题,这可能是一个很好的话题......
最佳答案
这具有宗教 war 的潜力,但在我看来,如果您使用的是 getter/setter,那么您也应该在内部使用它 - 两者都使用会导致以后的维护问题(例如,有人将代码添加到需要在每次设置该属性时运行的 setter,并且该属性在内部设置而没有调用该 setter)。
关于java - 您将如何从对象方法中访问对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/126/