什么是"纯粹主义者"或"纠正"从不是getter / setter方法的对象方法中访问对象属性的方法?
String property = this.property;
或者你会这样做:
String property = this.getProperty();
答案 0 :(得分:1)
没有正确的方法。这完全取决于具体情况:
使用this.property
的主要原因是它不需要getter和setter方法。这减少了代码大小,这本身是有益的,因为它降低了调试和维护的总体成本。
使用getProperty()
的主要原因是它允许您隐藏其余代码的数据结构重构。例如,假设您出于某种原因决定将property
字段移动到嵌入对象foo
。然后,您可以轻松地重新定义getProperty()
,而不会影响任何其他代码:
Object getProperty() { return foo.property; }
如果您正在使用JPA等框架,那么使用getter和setter也可以获得性能优势,因为JPA框架可以对这些进行优化,否则就无法实现。
答案 1 :(得分:0)
使用this.property
该属性在全球范围内定义,因此您可能应该在整个班级中直接引用它。
除非......
getProperty()
方法以某种方式转换属性,并且访问此属性的唯一预期方法是通过该转换。
通常,getters可以访问类外的属性,因此它们实际上只能在该上下文中使用。
答案 2 :(得分:0)
这取决于用例:
如果您希望该方法查看/获取类'(实例)