C++类属性为什么不直接操作(存取)

如题所述

以前学习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调用引起 对象知道什么时候 文本会变化)。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答