Öffentlich Mitglieder einer Klasse A sind für alle und jeden zugänglich.
Geschützt Mitglieder einer Klasse A sind außerhalb des Codes von A nicht zugänglich, aber sie sind vom Code jeder von A abgeleiteten Klasse zugänglich.
Privat Mitglieder einer Klasse A sind nicht außerhalb des Codes von A oder aus dem Code einer von A abgeleiteten Klasse zugänglich.
Die Entscheidung zwischen geschützt oder privat ist also letztlich eine Antwort auf die folgenden Fragen: Wie viel Vertrauen sind Sie bereit, in den Programmierer der abgeleiteten Klasse zu setzen?
Standardmäßig anzunehmen, dass der abgeleiteten Klasse nicht zu trauen ist, und machen Sie Ihre Mitglieder privat . Wenn Sie einen sehr guten Grund haben, den abgeleiteten Klassen freien Zugang zu den Interna der Mutterklasse zu gewähren, können Sie diese schützen.
0 Stimmen
Wenn Sie eine Bibliothek entwerfen, ist jedes geschützte (und nicht private) Mitglied eine Belastung. Wenn Sie bei internen Klassen alles, was nicht öffentlich ist, geschützt machen, sparen Sie Zeit und müssen weniger Klassen überarbeiten, um ein Mitglied von privat in geschützt zu ändern.