栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

设置和获取方法相对于公共变量的优势

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设置和获取方法相对于公共变量的优势

我有一天在SO上看到的答案(由@ ChssPly76编写)为什么使用getter和setter

因为从现在开始的2周(月,年),当您意识到设置者需要做的不仅仅是设置值时,您还将意识到该属性已直接在238个其他类中使用:-)

还有很多优点:

  1. getter和setter 可以 在其中 进行验证 ,而字段则不能
  2. 使用getter可以 获取 想要的类的 类。
  3. getter和setter 是多态的 ,字段不是
  4. 调试 可以简单得多,因为可以将断点放置在一个方法内,而不是该给定字段的许多引用附近。
  5. 他们可以 隐藏实现更改

之前:

private boolean alive = true;public boolean isAlive() { return alive; }public void setAlive(boolean alive) { this.alive = alive; }

后:

private int hp; // change!public boolean isAlive() { return hp > 0; } // old signature  //method looks the same, no change in client prepublic void setAlive(boolean alive) { this.hp = alive ? 100 : 0; }

编辑 :当您使用Eclipse时,另一个新的优点-您可以在现场创建观察点,但是如果您有setter,则只需要一个断点,并且…
断点(例如,在setter方法中)可以是有条件的观察点(在现场)不能
。因此,如果仅在

x=10
只能使用setter中的断点才能停止调试器的情况下才停止。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/413876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号