1
7
总有副作用:-)
在这种情况下,它可能是一个简单的pojo
现在
. 但是在2周(月、年)内,有人可能会给getter方法添加一些条件逻辑,并且
这就是为什么编码到接口总是一个好主意,即使在本例中,接口是对象本身(例如,它的公共getter)。 |
2
0
虽然从操作的角度来看没有什么不同,但我认为使用方法而不是直接引用绝对是最佳实践。您永远不知道您今天编写的简单代码何时会增长到这样的程度,即直接引用将被使用局部变量(缓存、从其他数据重新计算它等)进行更详细的操作的人破坏。 |
3
0
一般来说,不重要。 我将使用第二个示例,因为它删除了间接性,并且您确切地知道正在访问的值。稍后,您可能会决定在返回值之前对该值执行额外的计算,从而更改getter方法的含义。(尽管在这种情况下,您应该创建新的getter方法来返回新的值…但假设你很累,只是在同一个getter中意外添加了一行。)现在,你将获得一个你可能或现在可能期望的价值。如果这可能是您想要的,并且您希望将它应用到您的代码中,那么很好,如果不是,那么您就有一个问题,或者您将在不知道的情况下得到错误的结果。 |
4
0
不幸的是,Java不支持 uniform access principle (其他语言,如C、scala和ruby,都有),因此我们不得不使用丑陋而繁琐的getter/setter语法。 |