In diesem Abschnitt werden wir über eine Übersicht über Klassen sprechen
. Wir haben immer gesagt, dass C# objektorientierte Programmierung ist, und wir haben zuvor gelernt, dass jedes Objekt zu einer Klasse gehören muss, aber in der tatsächlichen Programmierung , müssen wir auch einige Klassen für das Programm anpassen.
Alle Klassen in C# erben direkt oder indirekt von der System.Object-Klasse, wodurch Klassen in C# von einem einzelnen Stamm erben können. Wenn wir eine geerbte Klasse nicht explizit angeben, geht der Compiler standardmäßig davon aus, dass die Klasse von der System.Object-Klasse erbt. Die System.Object-Klasse kann auch durch das Schlüsselwort object dargestellt werden.
Um genau zu sein, gibt es drei Hauptkomponenten, auf die wir hier nicht näher eingehen Ich werde später ein ausführliches Tutorial geben. Lassen Sie uns später darüber sprechen.
1. Attribute: Wie bereits erwähnt, werden Zugriffsmethoden verwendet, sodass sie schreibgeschützt oder lesbar sein können 2.
Methoden: Mithilfe von Methoden können Sie mithilfe von Objekten eine Operation ausführen. Sie können tatsächlich über Eigenschaftseinstellungen mit anderen Objekten interagieren, Methoden können jedoch einige zusammengesetzte Operationen ausführen.
3. Ereignisse: Wir haben gerade in der letzten Klasse über Ereignisse gesprochen. Sie können entsprechende Dinge tun, wenn sie ausgelöst werden.
Wenn wir schließlich eine Klasse vollständig definiert haben, können wir sie kapseln. Bei der Verwendung ist es uns egal, wie es die Aufgabe erledigt. Wir müssen nur wissen, welche öffentlichen Schnittstellen es hat, welche Eigenschaften es hat und welche Methoden und Ereignisse es hat. Diese werden zusammenfassend als Klassenmitglieder bezeichnet.
Wie wir bereits sagten, können wir Klassen verwenden, um N Objekte zu erstellen, aber sie sind alle isoliert. Gibt es also eine Möglichkeit, Objekte zwischen zwei bestimmten Klassen zu teilen?
Kommen wir zum Punkt. Wir können eine Reihe von Methoden oder Attributen definieren und sie auf die Klasse als Ganzes anwenden, anstatt sie speziell auf Objekte einer bestimmten Klasse zu verwenden. Sie sind das, was wir gemeinsam genutzte Mitglieder (statische Mitglieder) nennen. Wenn wir beispielsweise wissen möchten, wie viele Bücher veröffentlicht wurden, verwenden wir das gemeinsame Attribut count, oder um die Preise aller Bücher anzupassen, verwenden wir die gemeinsame Methode modemon(), die allen einen Rabatt von 20 % gewähren kann Bücher.
Die Klasse enthält einige Variablen, die in den Mitgliedsvariablen enthalten sind (die zuvor oft erwähnten privaten Variablen), und diese Codes sind auch in den Mitgliedsfunktionen enthalten In der Praxis stellen wir in der Operation nur ihre Eigenschaften, Methoden, Ereignisse und andere Schnittstellen bereit, und der Datenteil ist vollständig verborgen oder gekapselt.
Mitgliedsvariablen und Mitgliedsfunktionen werden zusammenfassend als Klassenmitglieder bezeichnet. Sie sind in statische und Entitätsmitglieder unterteilt.
Schauen wir uns unten ein Beispiel an
öffentliche statische Zeichenfolge aaa; --------statische Mitgliedsvariable
öffentliche statische void aaa() --------statische Mitgliedsfunktion
{
}
public string aaa; -------------Entity-Member-Variable
public void aaa() -------------Entity-Member-Funktion
{
}
Beachten Sie, dassoben
das Schlüsselwort static verwendet wird
. Sie können dasEntitätsmitglied direkt verwenden, ohne das Objekt zu deklarieren.
Zusammenfassend lässt sich sagen, dass alle Objekte in C#
verwendet werden müssen.wird auf dem verwalteten Heap erstellt. Der instanziierte Typ wird als Objekt bezeichnet und sein Kernmerkmal besteht darin, dass er über eine eigene Kopie der Datenelemente verfügt. Diese von bestimmten Objekten gehaltenen Datenelemente werden Instanzelemente genannt. Im Gegensatz dazu werden die Datenelemente, die nicht von bestimmten Objekten gehalten werden, als statische Elemente bezeichnet und mit dem statischen Modifikator in der Klasse deklariert. Diejenigen, die nur Operationen an statischen Datenelementen ausführen, werden als statische Funktionselemente bezeichnet.
Es gibt auch void: Was nach der Ausführung einer allgemeinen Methode oder Funktion zurückgegeben wird, kann einen beliebigen Typ haben, z. B. int oder string. Wenn Sie eine Methode schreiben möchten, die keinen Wert zurückgibt, müssen Sie anstelle des Rückgabetyps das Schlüsselwort void verwenden.
Daher müssen wir oben auf das Wort „public“ geachtet haben. Tatsächlich hat es drei Brüder: „privateprotectedinternal“. Sie werden als Zugriffsmodifikatoren bezeichnet und dienen zur Steuerung externer Vorgänge an Klassenmitgliedern, um den Zweck des Verbergens von Daten zu erreichen.
Im Folgenden erklären wir jeden einzelnen
öffentlich: Jede externe Klasse kann ohne Einschränkungen auf Klassendaten zugreifen.
private: Beschränken Sie die interne Verwendung dieser Klasse.
protected: Zusätzlich zur Klasse selbst kann jede Klasse, die diese Klasse erbt,
internal verwenden: Dies bedeutet, dass sie in derselben Anwendung (Anwendung) oder Klassenbibliothek (Bibliothek) verwendet werden kann, aber Das ist es, was wir im Grunde nicht brauchen.
http://www.cnblogs.com/thcjp/archive/2006/09/15/505022.html