Zugriffsmodifikator (Access Modifier) in C#
1. Modifier im CSharp
Die access modifiers im CSharp bestimmt den Zugang (der Umfang) in die Database der Felder, der Methode, des Konstructor (Constructor) oder der Klasse
Es gibt 5 Type zur access modifiers im CSharp:
- private
- protected
- internal
- protected internal
- public
2. Die Überblick über access modifier
Modifier | Die Beziehung |
private | Der Zugang wird in der Bereich von der Definition von Class begrenzt. Das ist der default-Zugangtyp wenn nicht bestimmt |
protected | Der Zugang wird in der Bereich von der Definition von Class begrenzt und alle Klasse, die von der Klasse erben |
internal | Der Zugang wird in der Bereich von Assembly vom aktuellen Projekt |
protected internal | Der Zugang wird in der Bereich von Assembly und in der Definitionsklasse oder die SubKlasse |
public | Keine Begrenzung bei dem Zugang zu der veröffentlichen Mitglieder (public) |
Die folgende Tabelle bringt Ihnen eine Überblick über die Benutzung vom access modifier.
Gleiches Assembly | Anders Assembly | ||||
In der Definitionsklasse? | In der Sub-Klasse | Außer der Definitionsklasse, außer der Sub-Klasse | In der Sub-Klasse | Außer Sub-Klasse | |
private | Y | ||||
protected | Y | Y | Y | ||
internal | Y | Y | Y | ||
protected internal | Y | Y | Y | ||
public | Y | Y | Y | Y | Y |
Sie können durch die folgenden Beispiel mehr detailiert verstehen
3. private access modifier
private access modifier erlaubt nur den Zugang in der internen Klasse
Sie können in die private Miglieder außer der Klasse, die die Mitglieder definiert zugehen. CSharp meldet den Fehler bei der Zeitpunkt von der Klasse-Kompilier
4. private constructor
Der Constructor, die Methode, der Feld werden als die Mitglieder in der Klasse genannt
Wenn Sie eine Klasse erstellen und einen privaten Constructor haben, können Sie ein Objekt des Klasse aus diesen private constructor vom außen nicht erstellen. Sehen Sie das folgende Beispiel
5. protected access modifier
protected access modifier kann innerhalb package, oder außer vom package zugreifen aber durch die Erben
protected access modifier sind nur für field, method und constructor angewendet. Er kann nicht für die Klasse (class, interface, ..) angewendet werden.
6. internal access modifier
internal ist der Zugang für die Internen, es wird in einem Assembly beschränkt
Ein Assembly ist ein Produkt zur Kompilierung Ihrer Code. Es ist normalerweise ein DLL, aber EXE kann auch ein assembly sein. Es ist die kleinste Einheit der Implementierung alles Projekt .NET .
Assembly enthaltet konkret die Code .NET nach MSIL (Microsoft Intermediate language ), die zur Computer Code (Native code) kompiliert wird ("JITted" - durch den Kompiler Just-In-Time kompiliert wird) in dem ersten Implementation im PC. Das ist die kompilierte Code , die in Assembly speichert und zur nächsten Aufruf benutzt wird
7. protected internal access modifier
Der Zugang protected internal ist die Verbindung zwischen den Zugang protected und internal. Wenn ein Mitglieder der Klasse den Zugang hat, können Sie in diesen Mitglieder in der Klasse, die sie oder die Sub-Klasse definiert hat und in einer gleichen Assembly liegen
8. public access modifier
public access modifier ist starkste und in allen Orten zugreifbar. Er hat den breitsten Zugangsumfang im Vergleich zu anderen modifier
9. der Zugang und die Inheritance
Im CSharp können Sie eine Methode von der Vater-Klasse durch eine Methode überschreiben (override), die den gleichen Name, den gleichen Parameter, den gleichen Rückgabestyp bei der Subklasse hat. Allerdings dürfen Sie ihren Zugang (access modifier) nicht ändern
Allerdings können Sie eine Methode mit dem gleichen Name, dem gleichen Parameter, dem gleichen Rückgabetyp aber den verschiedenen Zugang bei der Benutzung vom Schlüsselwort new erstellen, in der Praxis ist das eine andere Methode, die sich den Vater-Klasse unterscheidet
Der Unterschied zwischen override und new wird im Unterlagen "Die Inheritance und Polymorphie im CSharp" erklärt. Sie können bei... schauen
Anleitungen C#
- Vererbung und Polymorphismus in C#
- Was ist erforderlich, um mit C# zu beginnen?
- Schnelles Lernen C# für Anfänger
- Installieren Sie Visual Studio 2013 unter Windows
- Abstrakte Klasse und Schnittstelle in C#
- Installieren Sie Visual Studio 2015 unter Windows
- Kompression und Dekompression in C#
- Die Anleitung zu C# Multithreading Programmierung
- Die Anleitung zu C# Delegate und Event
- Installieren Sie AnkhSVN unter Windows
- C# Programmierung für Team mit Visual Studio und SVN
- Installieren Sie .Net Framework
- Zugriffsmodifikator (Access Modifier) in C#
- Die Anleitung zu C# String und StringBuilder
- Die Anleitung zu C# Property
- Die Anleitung zu C# Enum
- Die Anleitung zu C# Structure
- Die Anleitung zu C# Generics
- Ausnahmen und Ausnahmebehandlung in C#
- Die Anleitung zu C# Date Time
- Manipulieren von Dateien und Verzeichnissen in C#
- Die Anleitung zu C# Stream - binäre Ströme in C#
- Die Anleitung zu C# Reguläre Ausdrücke
- Stellen Sie in C# eine Verbindung zur SQL Server-Datenbank her
- Arbeiten Sie mit der SQL Server-Datenbank in C#
- Stellen Sie in C# eine Verbindung zur MySQL-Datenbank her
- Arbeiten Sie mit der MySQL-Datenbank in C#
- Stellen Sie ohne Oracle Client eine Verbindung zur Oracle-Datenbank in C# her
- Arbeiten Sie mit der Oracle-Datenbank in C#
Show More