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

在java中为什么要使用赋值和取值方法来访问属性?

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

在java中为什么要使用赋值和取值方法来访问属性?

实际上,有很多充分的理由考虑使用访问器,而不是直接公开类的字段-除了封装的论点之外,并使将来的更改更容易。

这是我知道的一些原因:

  • 封装与获取或设置属性相关的行为-这样可以在以后更轻松地添加其他功能(例如验证)。
  • 隐藏属性的内部表示形式,同时使用替代表示形式公开属性。
  • 将公共接口与更改隔离开来-在实现更改的同时允许公共接口保持不变,而不会影响现有的使用者。
  • 控制属性的生存期和内存管理(处置)语义-在非托管内存环境(如C ++或Objective-C)中尤其重要。
  • 为属性何时在运行时更改提供调试拦截点-在某些语言中,如果没有属性,则在何时何地更改为特定值的调试非常困难。
  • 与旨在针对属性获取程序/设置程序进行操作的库之间的改进的互操作性-我想到了模拟,序列化和WPF。
  • 通过覆盖getter / setter方法,允许继承者更改属性行为的语义,并公开该属性。
  • 允许将getter / setter作为lambda表达式而不是值传递。
  • getter和setter可以允许不同的访问级别-例如,get可以是公共的,但是set可以受到保护。


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

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

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