我第一次做一个大型项目。我有很多类,其中一些具有公共变量,一些具有带有 setter 和 getter 方法的私有变量,并且相同具有两种类型。
我决定重写此代码以主要仅使用一种类型。但我不知道应该使用哪个(仅用于同一对象中的方法的变量始终是私有的,不是这个问题的主题)。
我知道理论上公共和私人的含义,但在现实世界中使用什么以及为什么?
private
数据成员通常被认为是好的,因为它们提供了封装。
为它们提供 getter 和 setter 会破坏这种封装,但它仍然比public
数据成员,因为该数据只有一个访问点。
在调试过程中您会注意到这一点。如果是私人的,你know您只能修改类内部的变量。如果它是公开的,您将必须搜索整个代码库以查找它的位置might被修改。
尽可能禁止 getter/setter 并创建属性private
。这遵循信息隐藏的原则 - 您不应该关心类具有哪些属性。它应该是独立的。当然,在实践中这是不可行的,如果可行的话,遵循这一点的设计将比不遵循这一点的设计更混乱且更难以维护。
这当然是一个经验法则 - 例如,我只使用struct
(相当于class
具有公共访问权限),例如,一个简单的点类:
struct Point2D
{
double x;
double y;
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)