【发布时间】:2014-03-15 11:22:05
【问题描述】:
从每节介绍性编程课程开始,我们就被教导使用访问器和设置器,而不是暴露课程的内部工作。学生在以后学习练习的要点,但现在我明白,这种做法 (A) 会阻止实现成为合同导出 API 的一部分,(B) 改进封装和数据隐藏,以及 (C) 允许保证无论何时设置或访问变量时是否应该发生某些操作(增加计数器,记录某些内容等)。
如何在实例内部使用 getter/setter?例如,
class A {
private:
int number = 43;
public:
int getNumber();
void setNumber(int);
};
归根结底,这真的很重要吗?有没有我们可以遵循的指导方针,或者有没有关于这种情况的任何内容?这个问题在我编程时经常出现在我的脑海中,但我从未见过有人讨论关于实例本身的访问器/修改器。
谢谢!
【问题讨论】:
-
在课堂上,你应该使用更简单的方法