Untersuchen von Klassenmitgliedern
Objektorientierte Programmierung (OOP) ist ein Programmierparadigma, das Objekte zum Modellieren von realen Entitäten verwendet. In OOP sind Klassen der Blueprint zum Erstellen von Objekten und definieren die Daten und das Verhalten dieser Objekte.
Klassen verwenden Felder zum Definieren der Daten eines Objekts, Eigenschaften zum Steuern des Zugriffs auf Felder und Methoden zum Definieren des Verhaltens eines Objekts.
Obwohl Eigenschaften und Methoden häufig die größte Aufmerksamkeit erhalten, enthalten Klassen andere Member, die helfen, ihre Struktur und ihr Verhalten zu definieren. In der folgenden Tabelle sind die Member einer Klasse aufgeführt:
| Mitglied | Beschreibung |
|---|---|
| Felder | Felder sind Variablen, die im Klassenbereich deklariert werden. Ein Feld kann ein integrierter numerischer Typ oder eine Instanz einer anderen Klasse sein. Eine Kalenderklasse kann z. B. ein Feld haben, das das aktuelle Datum enthält. |
| Konstanten | Konstanten sind Felder, deren Wert zur Kompilierungszeit festgelegt und nicht geändert werden kann. |
| Eigenschaften | Eigenschaften sind Methoden für eine Klasse, auf die zugegriffen wird, als wären sie Felder in dieser Klasse. Eine Eigenschaft kann Schutz für ein Klassenfeld bereitstellen, damit es ohne Das Wissen des Objekts nicht geändert wird. |
| Methodik | Methoden definieren die Aktionen, die eine Klasse ausführen kann. Methoden können Parameter verwenden, die Eingabedaten bereitstellen und Ausgabedaten über Parameter zurückgeben können. Methoden können auch einen Wert direkt zurückgeben, ohne einen Parameter zu verwenden. |
| Ereignisse | Ereignisse stellen Benachrichtigungen über Vorkommen bereit, z. B. Schaltflächenklicks oder den erfolgreichen Abschluss einer Methode, an andere Objekte. Ereignisse werden mithilfe von Stellvertretungen definiert und ausgelöst. |
| Betriebspersonal | Überladene Operatoren gelten als Typmm. Wenn Sie einen Operator überladen, definieren Sie ihn als öffentliche statische Methode in einem Typ. |
| Indexer | Indexer ermöglichen die Indizierung eines Objekts in einer ähnlichen Weise wie Arrays. |
| Erbauer | Konstruktoren sind Methoden, die aufgerufen werden, wenn das Objekt zum ersten Mal erstellt wird. Sie werden häufig verwendet, um die Daten eines Objekts zu initialisieren. |
| Finalizer | Finalizer werden selten in C# verwendet. Sie sind Methoden, die vom Laufzeitausführungsmodul aufgerufen werden, wenn das Objekt aus dem Arbeitsspeicher entfernt werden soll. Sie werden verwendet, um sicherzustellen, dass alle Ressourcen, die freigegeben werden müssen, entsprechend behandelt werden. |
| Geschachtelte Typen | Geschachtelte Typen sind Typen, die innerhalb eines anderen Typs deklariert werden. Geschachtelte Typen werden häufig verwendet, um Objekte zu beschreiben, die nur von den Typen verwendet werden, die sie enthalten. |
Felder, Eigenschaften, Methoden und Konstruktoren in einer Klassendefinition
Obwohl eine Klassendefinition alle in der Tabelle aufgeführten Elemente enthalten kann, sind die am häufigsten verwendeten Felder, Eigenschaften, Methoden und Konstruktoren. Diese Member bilden die Kernstruktur der meisten Klassen in C#, wobei die erforderliche Datenspeicherung, Zugriffsmechanismen, Verhaltensdefinitionen und Initialisierungslogik bereitgestellt werden.
Der folgende Codeausschnitt veranschaulicht, wie allgemeine Klassenmember verwendet werden können, um eine Klasse in C# zu definieren und zu implementieren:
public class Person
{
// Fields
private string name;
private int age;
// Properties
public string Name
{
get { return name; }
set { name = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
// Constructors
public Person(string name, int age)
{
Name = name;
Age = age;
}
// Methods
public void Display()
{
Console.WriteLine($"Name: {Name}, Age: {Age}");
}
}
class Program
{
static void Main()
{
Person person = new Person("PersonName", 30);
person.Display();
}
}
In diesem Beispiel werden die folgenden Membertypen verwendet:
- Felder: Die
PersonKlasse verfügt über zwei Felder,nameundage, die privat sind. - Eigenschaften: Die
Person-Klasse verfügt über zwei Eigenschaften,NameundAge, die Zugriff auf die privaten Felder ermöglichen. Die Eigenschaften verwenden diegetundsetAccessoren, um die Werte der Felder zu lesen und zu schreiben. - Konstruktoren: Die
Person-Klasse verfügt über einen Konstruktor, der die feldernameundageinitialisiert, wenn ein neuesPerson-Objekt erstellt wird. - Methoden: Die
Person-Klasse verfügt über eineDisplayMethode, die den Namen und das Alter der Person in die Konsole schreibt.
Die Program-Klasse enthält die Main Methode, die als Einstiegspunkt der Anwendung dient. Die Main-Methode erstellt ein neues Person-Objekt, initialisiert es mit dem Namen "John" und dem Alter von 30 Jahren und ruft dann die person.Display Methode auf, um die Informationen der Person in die Konsole zu schreiben.