我什么时候需要将类数据成员声明为public?

时间:2013-08-22 12:16:29

标签: class public

当我需要将类数据成员声明为public时,是否存在任何情况? 这种声明是否有任何错误?

1 个答案:

答案 0 :(得分:1)

需要?否。

任何数据访问都可以通过getter和setter完成:
(上述陈述的真实性可能取决于语言)

private member

public getMember()
  return member

public setMember(newValue)
  member = newValue

而不是

public member

错误?不是。好吧,除了必须更改代码以使用getter和setter之外。

想要?可能。

使用getter和setter的主要缺点是你的代码看起来多么漂亮 - 它的可读性和代码膨胀。

有关使用getter和setter的优点,请参阅this

如果使用getter和setter分类为类似于使成员公开,那么有很多场景需要您在其中一种访问方式。考虑一个拥有Car类的人为例子。您希望获得windscreen成员变量的原因有很多。