Junior — Middle
Was ist der Unterschied zwischen den Zugriffsmodifikatoren private und protected in der objektorientierten Programmierung?
sobes.tech KI
Antwort von AI
In der objektorientierten Programmierung (am Beispiel von C#) unterscheiden sich die Zugriffsmodifikatoren private und protected im Sichtbarkeitsgrad der Klassenmitglieder:
-
private — Das Klassenmitglied ist nur innerhalb der Klasse selbst zugänglich. Weder Unterklassen noch andere Klassen können darauf zugreifen.
-
protected — Das Klassenmitglied ist innerhalb der Klasse selbst und in allen ihren Unterklassen (Erben) zugänglich, auch wenn sie sich in einem anderen Namensraum befinden.
Beispiel:
class BaseClass
{
private int privateField = 1;
protected int protectedField = 2;
void Show()
{
Console.WriteLine(privateField); // Verfügbar
Console.WriteLine(protectedField); // Verfügbar
}
}
class DerivedClass : BaseClass
{
void ShowDerived()
{
// Console.WriteLine(privateField); // Fehler: privateField ist nicht zugänglich
Console.WriteLine(protectedField); // Verfügbar
}
}
Daher erweitert protected den Sichtbarkeitsbereich im Vergleich zu private, was es Erben ermöglicht, mit den geschützten Mitgliedern der Basisklasse zu arbeiten.