我认为标题说明了一切。也许我应该问:不使用方法来返回变量或它的值是不是很糟糕?一个示例是具有 x 和 ay 变量的二维点类。
使用myPoint.x
获取 x 变量而myPoint
不是myPoint.xValue()
,它只是返回有什么问题mypoint.x
吗?
我认为标题说明了一切。也许我应该问:不使用方法来返回变量或它的值是不是很糟糕?一个示例是具有 x 和 ay 变量的二维点类。
使用myPoint.x
获取 x 变量而myPoint
不是myPoint.xValue()
,它只是返回有什么问题mypoint.x
吗?
保持内部隐私,并提供访问方法。
外部世界不需要知道内部,如果你以后改变内部,你可以保持API不变,内部改变你想要的,所以没有外部影响。
通过方法检索要好得多。
你应该让你的代码,封装,使用setter和getter。
这完全取决于:
如果您正在创建一个符合JavaBeans SpecificationPoint
的类,那么您的变量必须使用相关的 getter/setters 方法。private
此外,如果您正在创建 API,那么myPoint.x
也不合适,因为您希望按合同创建应用程序,即带有Point.getX()
. 这样,使用 API,开发人员就知道有Point
一个从方法返回x
坐标的getX()
方法。
最终取决于您的设计。我更喜欢保持封装我的变量以限制对我的内部(例如变量)的访问。
封装是java的特性之一。
通过将变量设为私有并提供适当的访问器和修改器来更新或检索这些值来避免直接访问变量。
因此,使用方法来访问这些变量值并将这些变量声明为私有。
使用 getter 访问更安全。许多程序员使用private关键字保护他们的类变量。我建议使用 getter 和 setter 公共方法。