有很多 getters &设置者是个好主意吗?

发布于 2024-10-19 07:08:36 字数 1431 浏览 6 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

摘星┃星的人 2024-10-26 07:08:36

如果您正在讨论 getters & ANDROID 中的 setter,请查看 android 文档的说明:-
避免内部 Getter/Setter< br>
在 Android 上,这是一个坏主意。虚拟方法调用是昂贵的,比实例字段查找昂贵得多。遵循常见的面向对象编程实践并在公共接口中使用 getter 和 setter 是合理的,但在类中您应该始终直接访问字段。

If you are discussing getters & setters in ANDROID, check what android documentation tell:-
Avoid Internal Getters/Setters
On Android, this is a bad idea. Virtual method calls are expensive, much more so than instance field lookups. It's reasonable to follow common object-oriented programming practices and have getters and setters in the public interface, but within a class you should always access fields directly.

天冷不及心凉 2024-10-26 07:08:36

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

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

另请参阅

if all the private variables are expected to be accessed from out side then yes.

Suppose you have certain flags those aren't going to be used from outside then no need of getters/setters for those.

Also See

纵性 2024-10-26 07:08:36

这么说吧,您觉得不需要 getter/setter,并且您计划将您的属性设为非私有。这种方法似乎没有任何问题。但你必须问自己几个问题。

  • 您是否有任何财产在转让前应进行价值检查? (需要设置器)
  • 您是否有任何不想按原样公开的可变属性? (需要 getter)

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

进一步参见,Effective Java 第二版

  • 项目 13:最小化类和成员的可访问性
  • 项目 14:在公共类中,使用访问器方法,而不是公共字段
  • 项目 15:最小化可变性
  • 项目 38:检查参数的有效性
  • 项目 56:遵守普遍接受的命名 惯例

Lets put it this way, you don't feel any need of having getters/setters and you plan to make your properties non-private. It doesn't appear to be any problem with this approach. But you must ask few questions to yourself.

  • Are you having any property whose value should undergo some checking before assignment? (Need for a setter)
  • Do you have any mutable property which you don't want to expose as it is? (Need for a getter)

Now, if you think your few properties need getters/setters, but not all. Then I would say create getter/setter for all of them for the sake of consistency. :)

Further see, Effective Java 2nd Edition,

  • Item 13: Minimize the accessibility of classes and members
  • Item 14: In public classes, use accessor methods, not public fields
  • Item 15: Minimize mutability
  • Item 38: Check parameters for validity
  • Item 56: Adhere to generally accepted naming conventions
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文