Es gibt "öffentlich", "privat" und "geschützt" in OOP wie C++ Sprache. Und ich habe zwei Arten von einfachen Programmen ausprobiert.Warum wird 'privat' in objektorientiertem Programm verwendet?
Unten ist der erste Fall in C++.
class A {
public:
string name;
}
int main(void) {
A a;
a.name;
}
Und zweitens Fall ...
class A {
protected:
string name;
public:
string getName(void) {
return name;
}
}
int main(void) {
A a;
//a.name; //can't access
cout << a.getName();
}
Welche ist besser in zwei Fällen?
Da die Informationen versteckt werden müssen, ist der zweite vielleicht besser, denke ich. Aber im zweiten Fall kann er auch auf die Variable 'name' zugreifen, indem er die Funktion getName()
verwendet. Wenn ja, obwohl der erste einfacher ist als der zweite, warum sollte ich den zweiten verwenden? Mit anderen Worten, warum wird protected
verwendet?
„Da die Informationen versteckt werden muss, der zweite ist vielleicht besser“ - wenn Informationen versteckt das Ziel ist, die zweite das ist * nur * eine, die sich auch nur im Entferntesten qualifiziert, so dass sie standardmäßig "besser" gewinnt. – WhozCraig