Heim > Backend-Entwicklung > C#.Net-Tutorial > [C#-Tutorial] C#-Kapselung

[C#-Tutorial] C#-Kapselung

黄舟
Freigeben: 2016-12-26 14:16:43
Original
1133 Leute haben es durchsucht

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();
        }
    }
}
Nach dem Login kopieren

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er die folgenden Ergebnisse:

长度: 4.5
宽度: 3.5
面积: 15.75
Nach dem Login kopieren
Nach dem Login kopieren

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();
        }
    }
}
Nach dem Login kopieren

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er die folgenden Ergebnisse:

请输入长度:
4.4
请输入宽度:
3.3
长度: 4.4
宽度: 3.3
面积: 14.52
Nach dem Login kopieren

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();
        }
    }
}
Nach dem Login kopieren
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt er die folgenden Ergebnisse:
长度: 4.5
宽度: 3.5
面积: 15.75
Nach dem Login kopieren
Nach dem Login kopieren

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 (m.sbmmt.com).


Verwandte Etiketten:
c#
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage