Heim  >  Artikel  >  Backend-Entwicklung  >  C#-Lerntagebuch 12 --- Datentypen-Referenztypen (Vorwort)

C#-Lerntagebuch 12 --- Datentypen-Referenztypen (Vorwort)

黄舟
黄舟Original
2017-01-20 13:48:311461Durchsuche

Wir haben das Studium des einfachen Datentyps in C# abgeschlossen – den Werttyp. Als nächstes lernen wir einen anderen Datentyp in C# kennen – den Referenztyp Wert direkt, zeigt aber auf den Wert, den er speichern möchte. Das heißt, der Referenztyp speichert die Adresse der Variablen. Es gibt 4 Referenztypen in C#:

  • Klasse

  • repräsentiert

  • Array

  • Schnittstelle

Hier werde ich zunächst kurz ihre jeweiligen Bedeutungen und Definitionen vorstellen und später konkrete Beispiele schreiben, um sie im Detail vorzustellen.

Klasse

Klasse ist die Grundeinheit der objektorientierten Organisation. Es handelt sich um eine Datenstruktur, die Datenelemente, Funktionselemente und verschachtelte Typen enthält. Zu den Datenmitgliedern einer Klasse gehören Konstanten, Felder und Ereignisse. Zu den Funktionsmitgliedern gehören Methoden, Eigenschaften, Indexindikatoren, Operatoren, Konstruktoren und Destruktoren. Klassen und Strukturen (Strukturen) enthalten jedoch auch ihre eigenen Mitglieder dass Klassen Referenztypen sind, während Strukturen Werttypen sind. Klassen unterstützen den Vererbungsmechanismus. Durch die Vererbung abgeleiteter Klassen können Sie die Datenelemente und Funktionsmethoden der Basisklasse erweitern und so den Zweck der Code-Wiederverwendung und Design-Wiederverwendung erreichen. (Die Vererbung und Ableitung von Klassen wird später ausführlich besprochen, und die Definition von Klassen wird im nächsten Artikel beschrieben. Wenn Sie eine Klasse definieren, definieren Sie einen Entwurf eines Datentyps.) Damit werden eigentlich keine Daten definiert (da es sich um eine Adresse handelt), aber es wird definiert, was der Name der Klasse bedeutet, also woraus das Objekt der Klasse besteht und welche Operationen an diesem Objekt ausgeführt werden können. Objekte sind Instanzen von Klassen. Die Methoden und Variablen, aus denen eine Klasse besteht, werden zu Mitgliedern der Klasse. Wenn wir eine Variable für eine bestimmte Klasse definieren, nennen wir sie eine Instanz der Klasse (sie kann auch als Objekt bezeichnet werden, aber wir werden den Namen später ändern). Lassen Sie mich noch einmal erwähnen, dass die beiden häufig verwendeten Klassen in C#, die Object-Klasse und die String-Klasse, später ebenfalls ausführlich besprochen werden.

stellt

dar. Der Delegate in C# (auch Delegat genannt), ähnelt dem Zeiger in C/C++, aber der Zeiger ist in C/C++ unsicher, möglicherweise gibt es einen Ein versehentliches Löschen kann zum Absturz des gesamten Programms führen und Delegate ist in C# sicher. Delegate bezieht sich auf eine bestimmte Methode, die von der System.Delegate-Klasse abgeleitet ist. Wenn ein Delegate definiert ist, handelt es sich um eine Erweiterung von System.Delegare. Die spezifische Verwendung wird später ausführlich besprochen.

Array

Bei der Verarbeitung von Daten in Stapeln verwenden wir Arrays. Wie C/C++ ist ein Array ein Satz geordneter Daten desselben Typs Sammlung zum Speichern von Daten, beschrieben durch den Array-Namen, den Typ und die Dimension der Datenelemente. Das in C# bereitgestellte System.Array ist die Basisklasse für alle Array-Typen. Auf ein bestimmtes Element im Array wird über den Index zugegriffen. Alle Arrays bestehen aus zusammenhängenden Speicherorten. Die niedrigste Adresse entspricht dem ersten Element und die höchste Adresse entspricht dem letzten Element.

Schnittstelle

Schnittstelle definiert den Syntaxvertrag, dem alle Klassen folgen sollten, wenn sie die Schnittstelle erben. Die Schnittstelle definiert den „Was“-Teil des Syntaxvertrags und die abgeleitete Klasse definiert den „Wie“-Teil des Syntaxvertrags. Eine Schnittstelle definiert Eigenschaften, Methoden und Ereignisse, die Mitglieder der Schnittstelle sind. Die Schnittstelle enthält nur die Deklaration von Mitgliedern. Die Definition der Mitglieder liegt in der Verantwortung der abgeleiteten Klasse. Schnittstellen bieten eine Standardstruktur, der abgeleitete Klassen folgen sollten. Abstrakte Klassen ähneln in gewisser Weise Schnittstellen, werden jedoch meist nur verwendet, wenn nur wenige Methoden von der Basisklasse deklariert und von der abgeleiteten Klasse implementiert werden. (Das heißt, die Schnittstelle stellt nur Methodendeklarationen bereit, und die spezifische Methode wird durch die Unterklasse bestimmt, die sie erbt. Wenn ich beispielsweise 5 Personen jeweils 100 Yuan gebe, geht es mich nichts an, was sie mit den 100 Yuan machen (Nur für die Bereitstellung von Geld verantwortlich) Die Schnittstelle wird mit dem Schlüsselwort interface deklariert, das der Deklaration einer Klasse ähnelt. Schnittstellendeklarationen sind standardmäßig öffentlich. Über Schnittstellen kann eine Mehrfachvererbung erreicht werden. (Mehr Details später)

Das Obige ist der Inhalt von C# Learning Diary 12 – Referenztypen von Datentypen (Vorwort). Weitere verwandte Inhalte finden Sie in PHP Chinesische Website (www.php.cn)!


Stellungnahme:
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