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