Zugriffsmodifikatoren in CSharp
- Home
- Tutorials
- C
- Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
- Zugriffsmodifikatoren in CSharp
In einem der ersten CSharp Artikel bin ich kurz darauf eingegangen, was es mit, Private, Public, Internal und Protected auf sich hat. Da es Anfangs nicht ganz einfach ist, den Sinn hinter diesen drei unterschiedlichen Zugriffsarten zu verstehen, gehe ich nun etwas genauer darauf ein.
Zuerst einmal grundlegende Regeln, die zum guten Ton gehören:
- Variablen deklariert man mit private
- Funktionen deklariert man mit public
Nun denkst du dir vielleicht, das hatten wir doch bereits auch anders gesehen. Das stimmt. Man kann Funktionen auch private deklarieren und Variablen public. Wenn man eine Funktion private deklariert, lässt sie NICHT! zu das man sie von anderen Klassen aus verwendet werden kann. Wenn man also eine Funktion dieFunktionA in der KlasseA haben und sie von KlasseB aus aufrufen will, kann man das nicht tun wenn die Funktion auf private gesetzt ist. Das geht folglich nur, wenn die Funktion public ist.
Das gleiche Verhalten haben Variablen. Wir hatten ja bereits behandelt, dass Setter und Getter benötigt werden um eine VariableA von KlasseA in der KlasseB zu verändern bzw. aufzurufen. Das stimmt so nicht ganz. Wenn man die VariableA public deklariert kann man sie folgendermaßen von KlasseB aus aufrufen:
public class KlasseA {
public int var1 = 3;
}
public class KlasseB {
public static void Main(string[] args) {
KlasseA klasseAObjekt = new KlasseA();
klasseAObjekt.var1 = 5;
Console.WriteLine(klasseAObjekt.var1);
Console.Read();
}
}
Es gibt vier Arten von Zugriffsmodifikatoren:
Private
Wenn eine Variable oder Funktion private deklariert ist, dann ist sie nur in der Klasse in der sie erstellt wurde sichtbar, also nicht von anderen Klassen.Public
Wenn eine Variable oder Funktion public deklariert ist, dann ist sie von jeder Klasse aus sichtbar und bearbeitbar, die eine Referenz(ein Objekt) zu der Klasse der Variable/Funktion besitzt.Internal
Der Zugriff ist auf die aktuelle Assembly begrenzt geschütztes internes: Zugriff wird auf die aktuelle Assembly oder auf Typen eingeschränkt, die von der Klasse abgeleitet sind.Protected
Wenn eine Variable oder Funktion protected deklariert ist, dann kann nur vom gleichen Paket, oder von Klassen die von der Klasse der Variable/Funktion erben, aus darauf zugegriffen werden. Was erben bedeutet, bzw. Vererbung ist, lernst du noch in einem späteren Artikel.
Der Ultimative C# Kurs - Hier wirst Du zum CSharp Pro
-
So holst du das meiste aus dem Kurs
-
Lektion1.1
-
Lektion1.2
-
Lektion1.3
-
-
Deine erste C# Anwendung und Übersicht zu Visual Studio
-
Lektion2.1
-
Lektion2.2
-
Lektion2.3
-
-
Datentypen und Variablen
-
Lektion3.1
-
Lektion3.2
-
Lektion3.3
-
Lektion3.4
-
Lektion3.5
-
-
Funktionen / Methoden und wie sie einem das Leben vereinfachen
-
Lektion4.1
-
Lektion4.2
-
Lektion4.3
-
Lektion4.4
-
-
Benutzereingabe für unsere Programme verwenden
-
Lektion5.1
-
-
Entscheidungen Treffen
-
Lektion6.1
-
Lektion6.2
-
Lektion6.3
-
Lektion6.4
-
Lektion6.5
-
Lektion6.6
-
Lektion6.7
-
Lektion6.8
-
-
Schleifen (Loops) und wie man etwas automatisiert
-
Lektion7.1
-
Lektion7.2
-
Lektion7.3
-
Lektion7.4
-
Lektion7.5
-
Lektion7.6
-
Lektion7.7
-
-
Objektorientierte Programmierung (OOP) und Klassen
-
Lektion8.1
-
Lektion8.2
-
Lektion8.3
-
Lektion8.4
-
Lektion8.5
-
Lektion8.6
-
Lektion8.7
-
Lektion8.8
-
Lektion8.9
-
Lektion8.10
-
Lektion8.11
-
-
Arrays / Felder
-
Lektion9.1
-
Lektion9.2
-
Lektion9.3
-
Lektion9.4
-
Lektion9.5
-
Lektion9.6
-
-
ArrayList
-
Lektion10.1
-
Lektion10.2
-
Lektion10.3
-
Lektion10.4
-
Lektion10.5
-
-
Vererbung / Inheritance und noch mehr zu OOP
-
Lektion11.1
-
Lektion11.2
-
Lektion11.3
-
Lektion11.4
-
-
Polymorphie und noch mehr zu OOP
-
Lektion12.1
-
Lektion12.2
-
Lektion12.3
-
Lektion12.4
-
Lektion12.5
-
Lektion12.6
-
-
Debugging und Try and Catch
-
Lektion13.1
-
Lektion13.2
-
-
Mit Dateien Arbeiten
-
Lektion14.1
-
Lektion14.2
-
Lektion14.3
-