Klassen in C#

In der Objektorientierten Programmierung (OOP) spielen Klassen eine zentrale Rolle.

Klassen beschreiben Eigenschaften und Fähigkeiten von Objekten und sind der "Bauplan", nach dem die Objekte konstruiert werden können.
Eine Klasse vereint alle Felder (Variablen bzw. Datenelemente) und alle Methoden (Funktionen).
Die Felder und Methoden die zu einer Klasse gehören werden als Member (Mitglieder) der Klasse bezeichnet.

Eine Klasse beschreibt somit als Bauplan oder Vorlage die Gemeinsamkeiten einer Menge von Objekten.

Stellen Sie sich einen Bauplan für ein Auto vor:
Der Bauplan enthält die Geometrie der Fahrzeuge, die Angaben, wo der Motor, Scheinwerfer, Türen und Scheiben eingebaut werden, sowie die Lage der Elektroverkabelung uvm.
Der Bauplan (die Klasse) dient also als Vorlage für die Ausführung der Montage.

Diesen Bauplan kann man jetzt natürlich mehrfach benutzen um z.B. darauf basierend weiter Autos zu bauen.
Die Autos müssen auch nicht identisch sein und können sich in Einzelheiten (z.B. Farbe, Ausstattung usw.) unterscheiden.

 

Objekte - Klasseninstanzen oder Instanzen in C#

Wenn wir das auf die OOP umlegen, ist der Bauplan die Klasse und ein fertig gebautes Auto ein Objekt.
Ein Objekt wird auch häufig als Klasseninstanz oder Instanz bezeichnet.
Objekte (Instanzen) sind daher konkrete Exemplare der Klasse.

Ein Objekt wird durch bestimmte Merkmale (Eigenschaften) beschrieben, welche in der Klassendefinition festgelegt werden müssen.
Im einfachsten Fall wird die Eigenschaft als Variable innerhalb der Klasse definiert und als Feld bezeichnet.

 

Hier als Beispiel der Name in der Klasse Person:

class Person
{
  public string Name;
}

 

Ein Objekt wäre beispielsweise Peter:

Person Peter = new Person();

 

Datentypen in C#

Wie es bislang in C# üblich war, wird auch hier der Datentyp zuerst angegeben.
Statt wie gewohnt als Datentyp int oder string zu verwenden, ist der Datentyp hier Person.
Mit dem Schlüsselwort new wird das Objekt konkretisiert und dabei wird der Konstruktor aufgerufen.
Was ein Konstruktor ist, wird später noch erläutert.

Die folgende Grafik zeigt als Beispiel die Klasse Fahrzeug mit ihren drei Instanzen (Objekte) Auto, LKW und Motorrad.
Die Objekte besitzen die Methoden Beschleunigen und Bremsen, mit denen die Geschwindigkeit (Feld) des entsprechenden Objekts verändert werden kann.

Datentypen in C#