当您必须访问班级中的“成员变量”/字段时,最好是直接访问它还是调用getter和setter?为什么?
答案 0 :(得分:3)
调用setter / getter而不是直接访问。这样就可以运行setter / getter中任何额外的必需代码。
答案 1 :(得分:3)
我认为将您的字段设为私有只会带来好处,只能通过getter和可能的setter提供访问权限
PropertyChangeEvents
,可以在setter中包含此代码。否则,所有直接修改此字段的调用也应触发更改事件super.set
并执行额外的操作我能想到的唯一可能的缺点是它需要更多的代码来编写(对于getter和setter),还需要更多的代码来从类外部访问字段。但是目前的IDE是一个相当蹩脚的借口
答案 2 :(得分:2)
Getter / Setter允许延迟实例化,这通常是一种方法。此外,通过这种方式,您可以对变量进行受控访问(既可以为您自己,也可以作为您可能要公开的任何API的一部分);隐藏初始化等实现的能力也非常重要。
在我看来,S / G的最大好处是降低了某人在没有您控制的情况下修改它的风险。一个小例子..考虑到一个吸气剂可能会给你一个copy
原件而不是原件。
好处是多方面的,当给出选择时,选择setter / getter以获得数据封装和更多控制的好处。
答案 3 :(得分:0)
如果它是调用类的成员,则直接访问它。否则使用getter / setter方法。
为什么呢?您不应该只是创建getter / setter方法,以便调用类可以访问自己的成员。否则你应该使用getter / setter方法,原因是其他人详细说明。