像C++語言一樣,在'oop'中有'public','private'和'protected'。我嘗試了兩種簡單的程序。爲什麼在面向對象的程序中使用'private'?
以下是C++中的第一種情況。
class A {
public:
string name;
}
int main(void) {
A a;
a.name;
}
而且,第二種情況下...
class A {
protected:
string name;
public:
string getName(void) {
return name;
}
}
int main(void) {
A a;
//a.name; //can't access
cout << a.getName();
}
哪一個是在兩種情況下更好?
由於信息必須被隱藏的,第二個是可能更好,我想。但是第二個,它也可以通過使用函數getName()
來訪問'name'變量。如果是這樣,雖然第一個比第二個簡單,但我爲什麼要用第二個呢?換句話說,爲什麼使用protected
?
「由於信息必須被隱藏,第二個是有可能更好」 - 如果隱藏的信息是目標,第二個是*只有*一個即使遠程資格,所以它默認贏得「更好」。 – WhozCraig