Heim >Backend-Entwicklung >C++ >Wie wirken sich Zugangsmodifikatoren (öffentlich, privat, geschützt) und der statische Modifikator in C#auf die Zugänglichkeit der Mitglieder aus?
c# verwendet Zugriffsmodifikatoren (public
, private
, protected
), um die Zugänglichkeit in Klassen und Strukturen zu steuern. Diese Modifikatoren definieren den Umfang, aus dem ein Klassenmitglied (Feld, Eigenschaft, Methode) zugegriffen werden kann. Der static
-Modifikator fügt eine weitere Kontrollebene hinzu, die Mitglieder definiert, die zur Klasse selbst gehören, nicht einzelne Instanzen.
Zugriffsmodifikatoren:
public
: Mitglieder, die als public
deklariert sind, sind von überall zugänglich - innerhalb derselben Baugruppe oder einer anderen Vermittlung, die darauf verweist. Dies bietet die breiteste Zugänglichkeit.
private
: Mitglieder, die als private
deklariert sind, sind nur innerhalb der Klasse zugänglich, in der sie definiert sind. Dies erzwingt eine starke Einkapselung und Daten, die sich verstecken.
protected
: Mitglieder, die als protected
deklariert sind, sind innerhalb der Klasse zugänglich, in der sie definiert sind, und auch innerhalb abgeleiteter Klassen (Klassen, die aus der ursprünglichen Klasse erben). Dies ermöglicht eine kontrollierte Vererbung und Erweiterung der Funktionalität.
kein Modifikator (Standard): Wenn kein Zugriffsmodifikator angegeben ist, ist die Standardzugriffsstufe im Allgemeinen internal
. Dies bedeutet, dass das Mitglied nur aus derselben Versammlung (Projekt) zugänglich ist, in der es definiert ist.
statischer Modifikator:
Der Modifikator static
zeigt an, dass ein Mitglied zur Klasse selbst gehört, nicht zu einer bestimmten Instanz der Klasse. Statische Mitglieder werden in allen Fällen in allen Fällen geteilt. Auf statische Mitglieder werden mit dem Klassennamen zugegriffen, nicht mit einer Objektinstanz. Statische Klassen können nicht instanziiert werden.
Illustratives Beispiel:
<code class="language-csharp">public class ExampleClass { private int privateVar; protected int protectedVar; public int publicVar; static int staticVar; public void PublicMethod() { } private void PrivateMethod() { } protected void ProtectedMethod() { } static void StaticMethod() { } public static void Main(string[] args) { ExampleClass instance = new ExampleClass(); instance.publicVar = 10; instance.PublicMethod(); // instance.privateVar = 20; // Error: private // instance.PrivateMethod(); // Error: private ExampleClass.staticVar = 5; ExampleClass.StaticMethod(); } }</code>
In diesem Beispiel sind publicVar
und PublicMethod
frei zugänglich. privateVar
und PrivateMethod
sind nur innerhalb von ExampleClass
zugänglich. protectedVar
und ProtectedMethod
sind innerhalb von ExampleClass
zugänglich und alle Klassen, die daraus erben. staticVar
und StaticMethod
werden direkt über den Klassennamen zugegriffen.
Praktische Anwendungen:
Zugriffsmodifikatoren sind für objektorientierte Designprinzipien wie Kapselung und Abstraktion von grundlegender Bedeutung. Sie helfen zu kontrollieren, wie unterschiedliche Teile Ihrer Anwendung interagieren, die Wartbarkeit der Code fördern und unbeabsichtigte Nebenwirkungen reduzieren. Statische Mitglieder sind nützlich für Versorgungsfunktionen oder Konstanten, die keine Objektinstanz erfordern.
Das obige ist der detaillierte Inhalt vonWie wirken sich Zugangsmodifikatoren (öffentlich, privat, geschützt) und der statische Modifikator in C#auf die Zugänglichkeit der Mitglieder aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!