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