Zugriffsmodifikatoren (Spezifizierer) in C# mit Programmbeispielen
Was ist ein Zugriffsmodifikator (Spezifizierer) in C#?
Zugriffsmodifikatoren oder Zugriffsspezifizierer in C# sind die Schlรผsselwรถrter, die zum Definieren der Sichtbarkeit einer Klasseneigenschaft oder Methode verwendet werden. Es wird verwendet, wenn Sie nicht mรถchten, dass andere Programme die Eigenschaften oder Methoden einer Klasse sehen. Zugriffsmodifikatoren schrรคnken den Zugriff ein, sodass andere Programme die Eigenschaften oder Methoden einer Klasse nicht sehen kรถnnen.
Es gibt 6 Arten von Zugriffsmodifikatoren in C#:
- Private
- รffentliche
- Geschรผtzt
- Intern
- Intern geschรผtzt
- Privat geschรผtzt
Wir lernen die wichtigsten Zugriffsmodifikatoren in C# anhand der unten erlรคuterten Programmbeispiele kennen.
Private Zugriffsmodifikatoren in C#
Wenn der Zugriffsmodifikator Private an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass auf diese Mitglieder von keinem externen Programm aus zugegriffen werden kann.
Beispiel fรผr einen privaten Zugriffsmodifikator
Nehmen wir ein Beispiel und sehen, was passiert, wenn wir den privaten Zugriffsmodifikator verwenden.
Lassen Sie uns den aktuellen Code in unserer Datei Tutorial.cs รคndern. รndern wir in der SetTutorial-Methode das Schlรผsselwort public in private.
Wechseln wir nun zu unserer Program.cs-Datei. Sie werden feststellen, dass sich unter der SetTutorial-Methode eine rote Wellenlinie befindet.
Da wir die SetTutorial-Methode in unserer Tutorial-Klasse nun als privat deklariert haben, hat Visual Studio dies erkannt. Es hat dem Benutzer durch Hervorhebung mitgeteilt, dass diese Methode nun nicht mehr aus der Datei Program.cs heraus funktioniert.
C#-Modifikatoren fรผr den รถffentlichen Zugriff
Wenn der รถffentliche Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass auf diese Mitglieder von jedem externen Programm aus zugegriffen werden kann. Wir haben dies bereits in unseren frรผheren Beispielen gesehen.
Beispiel fรผr einen รถffentlichen Zugriffsmodifikator
Da wir unsere Methoden in der Tutorial-Klasse als รถffentlich definiert haben, kann รผber die Datei Program.cs auf sie zugegriffen werden.
Geschรผtzte Zugriffsmodifikatoren in C#
Wenn der geschรผtzte Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass nur auf diese Mitglieder zugegriffen werden kann Klassen geerbt aus dem Strom Klasse. Dies wird in der Klasse โInheritanceโ nรคher erlรคutert.
Interne C#-Zugriffsmodifikatoren
Wenn ein interner Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, kann auf diese Mitglieder nur von einem internen Programm, nicht aber von einem externen Programm zugegriffen werden.
C#-Konstruktor
C# Konstruktoren werden verwendet, um die Werte von Klassenfeldern zu initialisieren, wenn die entsprechenden Objekte erstellt werden. Ein Konstruktor ist eine Methode, die denselben Namen wie die Klasse hat. Wenn in einer Klasse ein Konstruktor definiert ist, stellt er die erste Methode bereit, die beim Erstellen eines Objekts aufgerufen wird. Angenommen, wir hรคtten eine Klasse namens Employee. Die Konstruktormethode wรผrde auch Employee() heiรen.
Zu Konstruktormethoden sind folgende wichtige Dinge zu beachten
- Der C#-Standardzugriffsmodifikator fรผr den Konstruktor muss รถffentlich gemacht werden.
- Fรผr die Konstruktormethode sollte kein Rรผckgabetyp vorhanden sein.
Beispiel eines C#-Konstruktors
Sehen wir uns nun an, wie wir den Benutzer von Konstruktoren in unseren Code integrieren kรถnnen. Wir werden Konstruktoren verwenden, um die Felder โTutorialIDโ und โTutorialNameโ auf einige Standardwerte zu initialisieren, wenn das Objekt erstellt wird.
Schritt 1) Der erste Schritt besteht darin, den Konstruktor fรผr unsere Tutorial-Klasse zu erstellen. In diesem Schritt fรผgen wir den folgenden Code zur Datei Tutorial.cs hinzu.
Code Erlรคuterung:-
- Wir fรผgen zunรคchst eine neue Methode hinzu, die denselben Namen wie die Klasse hat. Da sie denselben Namen wie die Klasse hat, behandelt C# sie als Konstruktormethode. Wenn also die aufrufende Methode nun ein Objekt dieser Klasse erstellt, wird diese Methode standardmรครig aufgerufen.
- Im Tutorial-Konstruktor setzen wir den Wert von TutorialID auf 0 und TutorialName auf โDefaultโ. Wenn also ein Objekt erstellt wird, haben diese Felder immer diese Standardwerte.
Wechseln wir nun zu unserer Datei โProgram.csโ und entfernen wir einfach die Zeile, die die SetTutorial-Methode aufruft. Das liegt daran, dass wir nur sehen wollen, wie der Konstruktor funktioniert.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
class Tutorial
{
public int TutorialID;
public string TutorialName;
public Tutorial()
{
TutorialID=0;
TutorialName="Default";
}
public void SetTutorial(int pID,string pName)
{
TutorialID=pID;
TutorialName=pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Tutorial pTutor=new Tutorial();
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
}
Code Erlรคuterung:-
- Der erste Schritt besteht darin, ein Objekt fรผr die Tutorial-Klasse zu erstellen. Dies geschieht รผber das Schlรผsselwort โnewโ.
- Wir verwenden die GetTutorial-Methode der Tutorial-Klasse, um den TutorialName abzurufen. Dieser wird dann รผber die Console.WriteLine-Methode in der Konsole angezeigt.
Wenn der obige Code richtig eingegeben und das Programm ausgefรผhrt wird, wird die folgende Ausgabe angezeigt.
Ausgang:
Anhand der Ausgabe kรถnnen wir erkennen, dass der Konstruktor tatsรคchlich aufgerufen wurde und dass der Wert von TutorialName auf โDefaultโ gesetzt wurde.
Hinweis: Hier wird der Wert โdefaultโ vom Konstruktor geholt.
Zusammenfassung
- C#-Zugriffsmodifikatoren oder Zugriffsspezifizierer werden verwendet, um die Sichtbarkeit einer Klasseneigenschaft oder -methode zu definieren.
- Wenn der Zugriffsmodifikator Private an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass auf diese Mitglieder von keinem externen Programm aus zugegriffen werden kann.
- Wenn der รถffentliche Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass auf diese Mitglieder von jedem externen Programm aus zugegriffen werden kann.
- Wenn der geschรผtzte Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, bedeutet dies, dass auf diese Mitglieder nur von Klassen zugegriffen werden kann, die von der aktuellen Klasse geerbt wurden.
- Wenn ein interner Zugriffsmodifikator entweder an eine Eigenschaft oder eine Methode angehรคngt wird, kann auf diese Mitglieder nur von einem internen Programm, nicht aber von einem externen Programm zugegriffen werden.
- C#-Konstruktoren werden zum Initialisieren der Werte von Klassenfeldern verwendet, wenn die entsprechenden Objekte erstellt werden.






