向我解释什么是二传手和吸气剂

Str*_*rry 11 oop

什么是二传手和吸气鬼?我为什么需要它们?以有效的方式使用它们的好例子是什么?安装者和吸气剂有什么意义?

更新:我可以获得一些编码示例吗?

dan*_*ben 14

getter是一种获取属性值的方法.setter是一种设置属性值的方法.关于它们的功效有一些争论,但要点通常是:

  • 为了完整的封装

  • 在内部细节发生变化时保持一致的界面

更有用的是当您需要在获取或设置时添加一些逻辑,比如在编写之前验证值.


tan*_*ius 9

getter/setter用于隐藏私有字段以进行宣传(您可以避免直接访问字段).

getter允许您在内部字段中使用之前检查提供的值.setter允许您例如应用不同的格式或仅限制写访问(例如,对派生类).

getter的一个有用的应用程序可能是某种延迟加载:后备字段(getter隐藏的私有字段)被初始化为null.当您要求getter返回值时,它将检查null并使用更耗时的方法加载该值.这只会在第一次调用时发生,之后getter将始终提供已经加载的值.