Die objektorientierte Programmierung ist eines der beliebtesten Programmierparadigmen. Dies liegt daran, dass es sowohl Daten als auch Funktionen modelliert und Sie in Bezug auf reale Objekte denken lässt. Klassen sind ein grundlegender Aspekt der objektorientierten Programmierung, da sie die Blaupause liefern, die Sie zum Erstellen von Objekten benötigen.

C# ist eine beliebte Programmiersprache mit mehreren Paradigmen, die das objektorientierte Paradigma verwendet. In diesem Artikel erfahren Sie, wie Sie Klassen in C# erstellen und verwenden.

Erstellen einer Klassendeklaration

In C# ist eine Klasse ein Referenztyp, der die enthält Null Wert, bis Sie ein neues Objekt der Klasse erstellen. Um eine neue Klasse in C# zu erstellen, benötigen Sie mehrere Komponenten:

  • Ein Zugriffsmodifikator.
  • Das Klasse Stichwort.
  • Der Name, den Sie der Klasse zuweisen möchten.
  • Ein Paar öffnender und schließender geschweifter Klammern (die die Attribute, Konstruktoren und Methoden der Klasse einschließen).
intern KlasseKunde{ }
instagram viewer

Der obige Code erstellt eine neue Klasse, auf die andere Klassen in derselben Assembly (Kompilierungsdatei) zugreifen können. C# verfügt über genau sechs Zugriffsmodifikatoren, mit denen Sie die Zugriffsebenen Ihrer Klassen, Variablen und Methoden steuern können. Die sechs Zugriffsmodifikatoren sind:

  • Öffentlichkeit: Jede Klasse (unabhängig von ihrer Assembly) kann auf die öffentliche Klasse und ihre öffentlichen Mitglieder (Attribute, Konstruktoren und Methoden) zugreifen.
  • Privatgelände: Nur die private Klasse und ihre Mitglieder können darauf zugreifen.
  • geschützt: Nur abgeleitete Klassen (Kind- und Enkelklassen) können auf die geschützte Klasse zugreifen.
  • intern: Nur Klassen in derselben Assembly können auf die interne Klasse zugreifen.
  • intern geschützt: Nur Klassen in derselben Assembly oder eine abgeleitete Klasse aus einer anderen Assembly können auf die geschützte interne Klasse zugreifen.
  • privat geschützt: Nur abgeleitete Klassen in derselben Assembly können auf die private geschützte Klasse zugreifen.

Attribute deklarieren und darauf zugreifen

Attribute sind die Bausteine ​​für die von Ihnen erstellten Klassen. Sie enthalten sensible Daten und haben normalerweise einen privaten oder geschützten Zugriffsmodifikator. Um auf diese Klassen von externen Klassen aus zuzugreifen, müssten Sie daher Accessoren und Mutatoren (Getter und Setter) verwenden.

Mit C# können Sie Ihre Attribute, Mutatoren und Accessoren wie folgt deklarieren:

intern KlasseKunde
{
// Attribute
Privatgeländeint IDNummer;
Privatgelände Zeichenfolge Name;
Privatgeländedoppelt Gesamt;

// Setter
ÖffentlichkeitLeereSetIdNummer(int IDNummer){ Dies.IDNummer = IDNummer; }
ÖffentlichkeitLeereName einsetzen(Zeichenfolgename){ Dies.Name = Name; }
ÖffentlichkeitLeereSetTotal(doppelt Gesamt){ Dies.Gesamt = Gesamt; }

// Getter
ÖffentlichkeitintGetIdNummer(){ RückkehrDies.IDNummer; }
Öffentlichkeit Schnur GetName(){ RückkehrDies.Name; }
ÖffentlichkeitdoppeltGetTotal(){ RückkehrDies.Gesamt; }
}

Andere beliebt Objektorientierte Sprachen Verwenden Sie auch den obigen Ansatz. In der Tat, wenn Sie möchten Java-Klassen erstellen, müssen Sie die obige Struktur verwenden. C# bietet jetzt jedoch eine einfachere Möglichkeit zum Erstellen von Attributen und Accessoren. In C# hat diese Klasse die gleiche Funktion wie die obige:

intern KlasseKunde
{
public int ID-Nummer { erhalten; einstellen; }
öffentliche Zeichenfolge Name { erhalten; einstellen; }
öffentliches Doppel Gesamt { erhalten; einstellen; }
}

Die obige Klasse enthält, was C# aufruft Eigenschaften, die eine Kombination aus Attributen (Feldern) und Methoden ist. Mit Eigenschaften, können Sie Ihren Attributdeklarations-, Mutatoren- und Zugriffscode um die Hälfte reduzieren.

Konstruktoren deklarieren

Konstruktoren sind ein weiterer grundlegender Aspekt einer Klasse. Um ein Objekt aus einer Klasse zu erstellen, müssen Sie einen ihrer Konstruktoren aufrufen. Jeder Konstruktor hat einen optionalen Zugriffsmodifizierer und denselben Namen wie seine Klasse. Für objektorientierte Programmiersprachen gibt es im Allgemeinen drei Arten von Konstruktoren:

  • Standardkonstruktor: Nimmt keine Argumente entgegen und stellt jedem Attribut einen Standardwert zur Verfügung.
  • Primärer Konstruktor: nimmt ein oder mehrere Argumente entgegen (abhängig von der Anzahl der Variablen in der Klasse).
  • Konstruktor kopieren: Nimmt einen anderen Konstruktor als Argument.

C# hat einen Oberbegriff für die obigen Standard- und Primärkonstruktoren – Instanzkonstruktoren. Diese Programmiersprache hat auch zwei weitere Konstruktoren (privat und statisch). Dieser Artikel konzentriert sich auf die drei traditionellen Konstrukteure.

Standardkonstruktor

// Standardkonstruktor
Öffentlichkeit Kunde()
{
IDNummer = 0;
Name = "Unbekannt";
Gesamt = 0;
}

Primärer Konstrukteur

// primärer Konstruktor
ÖffentlichkeitKunde(int IdNumber, Zeichenfolge Name, Zeichenfolge Kundentyp, doppelt Gesamt)
{
Dies.IDNummer = IDNummer;
Dies.Name = Name;
Dies.Gesamt = Gesamt;
}

Konstruktor kopieren

// Konstruktor kopieren
Öffentlichkeit Kunde (Kunde vorheriger Kunde)
{
Dies.IdNumber = vorherigerKunde. IDNummer;
Dies.Name = vorherigerKunde. Name;
Dies.Total = vorherigerKunde. Gesamt;
}

Methoden erstellen

Methoden sind keine entscheidende Klassenkomponente, aber sie sind nützlich. Eine Klasse kann eine oder mehrere Methoden haben. Eine Methode hat einen Zugriffsmodifikator, einen Rückgabetyp, einen Namen und einen Körper.

// Methode
Öffentlichkeit string Kundendetail()
{
Rückkehr " ICH WÜRDE: " + ID-Nummer + " Name: " + Name + " Gesamt: " + Gesamt;
}

Der obige Code gibt eine Zeichenfolgendarstellung des Kundenobjekts zurück.

Objekte erstellen

Nachdem Sie eine vollständige Klasse erstellt und mit Attributen, Konstruktoren und einer Methode ausgestattet haben, können Sie mit der Erstellung von Objekten mit den verschiedenen Konstruktoren beginnen. Um ein Objekt ohne Attribute zu erstellen, können Sie den Standardkonstruktor verwenden:

Kunde John = Neu Kunde();

Die obige Codezeile erstellt einen Standardkunden und weist ihn einer Variablen namens zu John. Mit Johnkönnen Sie auf den Standardwert jedes Kundenattributs zugreifen.

Konsole.WriteLine(John.Name);

Das Ausführen des obigen Codes gibt Folgendes in der Konsole aus:

Unbekannt

Sie können auch die verwenden John Variable, um auf eine beliebige Methode in der Kundenklasse zuzugreifen.

Konsole.WriteLine(John.Kundendetail());

Das Ausführen der obigen Codezeile gibt die folgende Ausgabe in der Konsole aus:

ID: 0 Name: unbekannt Summe: 0

Um ein Objekt mit Attributen zu erstellen, würden Sie den primären Konstruktor verwenden:

Kunde John = neuer Kunde (1001, "John Doe", 250.20);
Konsole.WriteLine(John.Kundendetail());

Das Ausführen des obigen Codes gibt die folgende Ausgabe in der Konsole aus:

ICH WÜRDE: 1001 Name: JohnDamhirschkuhGesamt: 250.2

Um eine Kopie des obigen Objekts zu erstellen, können Sie den Kopierkonstruktor verwenden:

Kunde Johnny = Neu Kunde (John);
Konsole.WriteLine(Johnny.Kundendetail());

Das Ausführen des obigen Codes gibt die folgende Ausgabe in der Konsole aus:

ICH WÜRDE: 1001 Name: JohnDamhirschkuhGesamt: 250.2

Wie Sie sehen können, ist der Kopierkonstruktor eine Kopie des primären Konstruktors. Der Kopierkonstruktor kann auch einen Standardkonstruktor als Argument annehmen:

Kunde John = Neu Kunde();
Kunde Johnny = Neu Kunde (John);
Konsole.WriteLine(Johnny.Kundendetail());

Das Ausführen des obigen Codes gibt die folgende Ausgabe in der Konsole aus:

ID: 0 Name: unbekannt Summe: 0

Jetzt können Sie C#-Klassen erstellen und verwenden

Sie können das objektorientierte Paradigma in C# verwenden, um Klassen zu definieren und daraus Objekte zu erstellen. Sie können Methoden für jede Klasse erstellen, die dann mit den Attributen ihrer Objekte arbeiten können.

Das objektorientierte Paradigma ist jedoch nicht das einzige, mit dem Sie vertraut sein müssen. Die drei wichtigsten Programmierparadigmen sind imperativ, objektorientiert und funktional.