[C#-Tutorial] C#-Kapselung
C#-Kapselung
Verpackung ist definiert als „das Einschließen eines oder mehrerer Elemente in einem physischen oder logischen Paket“. In der objektorientierten Programmiermethodik wird die Kapselung verwendet, um den Zugriff auf Implementierungsdetails zu verhindern.
Abstraktion und Kapselung sind relevante Merkmale der objektorientierten Programmierung. Die Abstraktion ermöglicht die Visualisierung relevanter Informationen und die Kapselung ermöglicht es Programmierern, den gewünschten Abstraktionsgrad zu erreichen.
Die Kapselung wird mithilfe von Zugriffsmodifikatoren implementiert. Ein Zugriffsmodifikator definiert den Umfang und die Sichtbarkeit eines Klassenmitglieds. Die von C# unterstützten Zugriffsmodifikatoren lauten wie folgt:
Öffentlich
Privat
Geschützt
Intern
Geschützt intern
Modifikator für öffentlichen Zugriff
Modifikator für öffentlichen Zugriff ermöglicht einer Klasse, ihre Mitgliedsvariablen und Mitgliedsfunktionen anderen Funktionen und Objekten zugänglich zu machen. Auf jedes öffentliche Mitglied können externe Klassen zugreifen.
Das folgende Beispiel veranschaulicht dies:
using System; namespace RectangleApplication { class Rectangle { //成员变量 public double length; public double width; public double GetArea() { return length * width; } public void Display() { Console.WriteLine("长度: {0}", length); Console.WriteLine("宽度: {0}", width); Console.WriteLine("面积: {0}", GetArea()); } }//end class Rectangle class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.length = 4.5; r.width = 3.5; r.Display(); Console.ReadLine(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er die folgenden Ergebnisse:
长度: 4.5 宽度: 3.5 面积: 15.75
oben Im Fall von , werden die Mitgliedsvariablen Länge und Breite als öffentlich deklariert, sodass die Funktion Main() mithilfe der Instanz r der Klasse „Rechteck“ auf sie zugreifen kann.
Memberfunktionen Display() und GetArea() können auch direkt auf diese Variablen zugreifen, ohne Klasseninstanzen zu verwenden.
Die Mitgliedsfunktion Display() ist ebenfalls als öffentlich deklariert, sodass Main() auch über eine Instanz r der Rechteckklasse auf sie zugreifen kann.
Privater Zugriffsmodifikator
Privater Zugriffsmodifikator ermöglicht einer Klasse, ihre Mitgliedsvariablen und Mitgliedsfunktionen vor anderen Funktionen und Objekten zu verbergen. Nur Funktionen innerhalb derselben Klasse können auf ihre privaten Mitglieder zugreifen. Selbst Instanzen einer Klasse können nicht auf ihre privaten Mitglieder zugreifen.
Das folgende Beispiel veranschaulicht dies:
using System; namespace RectangleApplication { class Rectangle { //成员变量 private double length; private double width; public void Acceptdetails() { Console.WriteLine("请输入长度:"); length = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("请输入宽度:"); width = Convert.ToDouble(Console.ReadLine()); } public double GetArea() { return length * width; } public void Display() { Console.WriteLine("长度: {0}", length); Console.WriteLine("宽度: {0}", width); Console.WriteLine("面积: {0}", GetArea()); } }//end class Rectangle class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.Acceptdetails(); r.Display(); Console.ReadLine(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er die folgenden Ergebnisse:
请输入长度: 4.4 请输入宽度: 3.3 长度: 4.4 宽度: 3.3 面积: 14.52
oben Im Fall von , werden die Mitgliedsvariablen Länge und Breite als privat deklariert, sodass die Funktion Main() nicht auf sie zugreifen kann.
Die Memberfunktionen AcceptDetails() und Display() können auf diese Variablen zugreifen.
Da die Mitgliedsfunktionen AcceptDetails() und Display() öffentlich deklariert sind, kann Main() über eine Instanz r der Rechteck-Klasse auf sie zugreifen.
Geschützter Zugriffsmodifikator
Geschützter Zugriffsmodifikator ermöglicht einer Unterklasse den Zugriff auf die Mitgliedsvariablen und Mitgliedsfunktionen ihrer Basisklasse. Das hilft bei der Vererbung. Wir werden dies ausführlich im Kapitel „Vererbung“ besprechen. Besprechen Sie dies ausführlicher.
Interner Zugriffsmodifikator
Der interne Zugriffsspezifizierer ermöglicht einer Klasse, ihre Mitgliedsvariablen und Mitgliedsfunktionen anderen Funktionen und Objekten im aktuellen Programm zugänglich zu machen. Mit anderen Worten: Auf jedes Mitglied mit dem internen Zugriffsmodifikator kann von jeder Klasse oder Methode zugegriffen werden, die in der Anwendung definiert ist, in der das Mitglied definiert ist.
Das folgende Beispiel veranschaulicht dies:
using System; namespace RectangleApplication { class Rectangle { //成员变量 internal double length; internal double width; double GetArea() { return length * width; } public void Display() { Console.WriteLine("长度: {0}", length); Console.WriteLine("宽度: {0}", width); Console.WriteLine("面积: {0}", GetArea()); } }//end class Rectangle class ExecuteRectangle { static void Main(string[] args) { Rectangle r = new Rectangle(); r.length = 4.5; r.width = 3.5; r.Display(); Console.ReadLine(); } } }
长度: 4.5 宽度: 3.5 面积: 15.75
Bitte beachten Sie im obigen Beispiel die Mitgliedsfunktion GetArea () wird ohne Zugriffsmodifikatoren deklariert. Wenn kein Zugriffsmodifikator angegeben ist, wird der Standardzugriffsmodifikator des Klassenmitglieds verwendet, der privat ist.
Geschützter interner Zugriffsmodifikator
Der geschützte interne Zugriffsmodifikator ermöglicht einer Klasse, ihre Mitgliedsvariablen und Mitgliedsfunktionen vor anderen Klassenobjekten und -funktionen außerhalb von Unterklassen innerhalb derselben Anwendung zu verbergen. Dies wird auch zur Implementierung der Vererbung verwendet.
Das Obige ist der Inhalt des [C#-Tutorials] C#-Kapselung. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn).

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Leitfaden zu Active Directory mit C#. Hier besprechen wir die Einführung und die Funktionsweise von Active Directory in C# sowie die Syntax und das Beispiel.

Leitfaden zum Zufallszahlengenerator in C#. Hier besprechen wir die Funktionsweise des Zufallszahlengenerators, das Konzept von Pseudozufallszahlen und sicheren Zahlen.

Leitfaden zu den Zugriffsmodifikatoren in C#. Wir haben die Einführungstypen von Zugriffsmodifikatoren in C# zusammen mit Beispielen und Ausgaben besprochen.

Leitfaden zur C#-Datenrasteransicht. Hier diskutieren wir die Beispiele, wie eine Datenrasteransicht aus der SQL-Datenbank oder einer Excel-Datei geladen und exportiert werden kann.

Leitfaden zur C#-Serialisierung. Hier besprechen wir die Einführung, die Schritte des C#-Serialisierungsobjekts, die Funktionsweise bzw. das Beispiel.

Leitfaden zu Mustern in C#. Hier besprechen wir die Einführung und die drei wichtigsten Arten von Mustern in C# zusammen mit ihren Beispielen und der Code-Implementierung.

Leitfaden zu Primzahlen in C#. Hier besprechen wir die Einführung und Beispiele von Primzahlen in C# sowie die Codeimplementierung.

Leitfaden zur Fakultät in C#. Hier diskutieren wir die Einführung in die Fakultät in C# zusammen mit verschiedenen Beispielen und Code-Implementierungen.
