所以我不知道你们中的任何人是否去过/去过 NewBoston.Com(顺便说一下,这是很棒的资源),但我正在看这个视频,老师说你如何使用公共(public)访问私有(private)信息函数...
这是视频:
http://www.youtube.com/watch?v=jTS7JTud1qQ
当然,只需跳到最后即可了解要点。
但我不明白的是,您如何使用公共(public)函数访问私有(private)信息。如果您创建一个公开的函数,允许任何人设置名称并获取该名称,那么它不就是公开的吗?难道任何人都无法弄乱我的代码和我想要的输出吗?
提供公共(public)方法来更改私有(private)变量的关键在于您可以添加额外的控件。
区别不大
class A {
public:
int age;
}
和
class B {
private:
int age;
public:
void setAge(int _age);
}
B::setAge(int _age) {
this->age = _age;
}
但是,在第二种情况下,您可以添加拒绝某些数据(例如负值)或更新其他字段的逻辑。因此,您可以确保对象的数据保持一致。如果您采用第一种方法,则每次直接访问属性时都应复制该逻辑(注意:许多程序员会忘记这样做)。