Inhaltsverzeichnis
- Was sind Zugriffsmodifikatoren?
- Public: Für alle zugänglich
- Private: Schutz vor ungewolltem Zugriff
- Protected: Zugriff in der Vererbung
- Internal: Projektintern
- Weitere Modifikatoren: protected internal und private protected
- Fazit: Warum Zugriffsmodifikatoren wichtig sind
Was sind Zugriffsmodifikatoren?
Zugriffsmodifikatoren sind Schlüsselwörter in C#, mit denen du steuerst, wo du auf die Eigenschaften einer Klasse zugreifen kannst. Durch den Einsatz dieser Modifikatoren kannst du sicherstellen, dass dein Code vor ungewolltem Zugriff geschützt ist und nur dort verwendet wird, wo es sinnvoll ist.
Public: Für alle zugänglich
Die public-Eigenschaft ermöglicht den Zugriff von überall im Code. Wenn du eine Eigenschaft als public deklarierst, kann sie in anderen Klassen, sogar außerhalb deines Projekts, verwendet werden.
Beispiel: In der Klasse Artikel ist die Eigenschaft Bezeichnung als public deklariert:
public class Artikel
{
public string Bezeichnung { get; set; }
}
Dies bedeutet, dass Bezeichnung in anderen Klassen verwendet werden kann – sowohl innerhalb deines Projekts als auch in externen Projekten.
Private: Schutz vor ungewolltem Zugriff
Die private-Eigenschaft ist der gegenteilige Fall. Sie erlaubt den Zugriff nur innerhalb der eigenen Klasse. Das bedeutet, dass der Wert dieser Eigenschaft von außen nicht verändert werden kann.
Beispiel: Der Einkaufspreis in der Klasse Artikel ist private:
public class Artikel
{
private decimal Einkaufspreis { get; set; }
}
Damit kann der Einkaufspreis nur innerhalb der Artikel-Klasse bearbeitet werden und bleibt vor ungewolltem Zugriff von außen geschützt.
Protected: Zugriff in der Vererbung
Mit protected kannst du den Zugriff auf Eigenschaften innerhalb der eigenen Klasse und in allen abgeleiteten Klassen erlauben, aber nicht in anderen Klassen.
Beispiel: Die Artikelgruppe ist protected:
public class Artikel
{
protected string Artikelgruppe { get; set; }
}
Wenn du also eine Klasse SpezialArtikel hast, die von Artikel erbt, kannst du in dieser Klasse auf Artikelgruppe zugreifen.
Internal: Projektintern
Der internal-Modifikator sorgt dafür, dass auf Eigenschaften nur innerhalb desselben Projekts zugegriffen werden kann. Das ist nützlich, um Funktionen in einer Anwendung zu kapseln und sicherzustellen, dass sie von externen Klassen nicht verändert werden.
Beispiel: Der Lagerbestand ist internal deklariert:
public class Artikel
{
internal int Lagerbestand { get; set; }
}
Damit bleibt der Lagerbestand auf dein aktuelles Projekt beschränkt und kann nicht von anderen Projekten ausgelesen oder verändert werden.
Weitere Modifikatoren: protected internal und private protected
Zusätzlich zu den vier gängigen Modifikatoren gibt es noch protected internal und private protected. Diese sind spezifischer und kombinieren die Eigenschaften der bisherigen Modifikatoren. Sie kommen vor allem bei der Vererbung komplexerer Strukturen zum Einsatz.
Fazit: Warum Zugriffsmodifikatoren wichtig sind
Zugriffsmodifikatoren sind essenziell, um den Zugang zu deinen Klassen und deren Eigenschaften zu steuern. Sie helfen dir, eine klare Struktur in deinem Code zu bewahren und ungewollten Zugriff zu verhindern. So wird dein Code sicherer und leichter wartbar.
Falls du keinen Modifikator angibst, verwendet C# einen Standardzugriff: Für Klassen ist das internal und für Member private.
Hast du noch Fragen zu Zugriffsmodifikatoren oder möchtest du mehr über C# lernen? Abonniere meinen YouTube-Kanal und aktiviere die Glocke, damit du kein zukünftiges Tutorial verpasst. Schau dir auch gerne meine anderen Videos zu Themen wie Vererbung und Objektorientierung an. Hier findest du das Youtube-Video zu diesem Artikel.
