有很多吸气剂和建立一个好主意?

时间:2011-02-23 06:32:13

标签: java android open-source getter-setter

在编写一个你打算开源的应用程序(在java中)时,通常一个好主意是拥有大量的getter& setters和make变量私有?更具体地说,如果那是一个 Android应用程序,上述问题的答案是否仍然有效?

编辑:如果你们能给我一个具体的理由,为什么它更好,那将是非常棒的。

3 个答案:

答案 0 :(得分:7)

如果你正在讨论getter&在 ANDROID 中设置setter,检查android文档告诉的内容: - Avoid Internal Getters/Setters
在Android上,这是一个坏主意。虚拟方法调用比实例字段查找要昂贵得多。遵循常见的面向对象编程实践并在公共接口中使用getter和setter是合理的,但在类中,您应该始终直接访问字段。

答案 1 :(得分:3)

如果希望从外面访问所有私有变量,那么是。

假设您有某些不会从外部使用的标记,那么就不需要getter / setter。

另见

答案 2 :(得分:3)

让我们这样说,你不觉得有任何需要得到getter / setter,你打算让你的属性非私人。这种方法似乎没有任何问题。但你必须向自己提几个问题。

  • 您是否有任何财产的价值在转让之前需要进行一些检查? (需要一个二传手)
  • 您是否有任何您不想公开的可变属性? (需要吸气剂)

现在,如果您认为您的少数属性需要getter / setter,而不是全部。然后我会为了一致性而为所有这些创建getter / setter。 :)

进一步了解Effective Java 2nd Edition

  • 第13项:尽量减少班级和成员的可访问性
  • 第14项:在公共类中,使用访问器方法,而不是公共字段
  • 第15项:尽量减少可变性
  • 第38项:检查参数的有效性
  • 第56项:坚持普遍接受的命名惯例