以前学习c++说到封装的概念时候
书上说 属性要设置成private 而不是public,存取要用相应接口(函数 方法)
一直不理解为什么要这么做(书上解释说是为了封装性 可是用接口一样可以修改或者读取 用接口有什么好处呢)
直接操作 a.strText 多方便( Note1 )!
class Note1
{
public:
string strText;
bool Save();//存到硬盘
string Load();//从硬盘读取
};
通过接口来存取strText,显得多此一举啊!( Note2 )
class Note2
{
private:
string strText;
public:
bool SetText(string text);
string GetText();
bool Save();
string Load();
};
实际项目中用到才理解为什么要用接口,其中一个原因是:类对 对象属性有更多的控制!
如果 strText 每次变化时候 都要存储(Save)
Note2 可以直接在SetText 中调用Save (因为变化只能由 SetText调用引起 对象知道什么时候 文本会变化)。
Note1 直接操作 strText , 对象 就不知道什么时候 文本会发生变化。