Skip to main content
Bei der objektorientierten Programmierung (OOP) bildest du Dinge der echten Welt als Objekte nach. Ein Objekt bündelt Daten (was es hat) und Verhalten (was es kann).
Eine Klasse ist der Bauplan, ein Objekt ist ein konkretes Exemplar davon. Aus der Klasse Hund entstehen die Objekte bello und rex.

Klassen und Objekte

In Dateien mit Top-Level-Anweisungen müssen Klassen unter dem Hauptcode stehen, oder besser in einer eigenen Datei, zum Beispiel Hund.cs.

Zugriffsmodifizierer

Sie steuern, wer auf ein Mitglied zugreifen darf:
Grundregel der Kapselung: Daten möglichst private halten und nur über Properties und Methoden freigeben. So kann die Klasse prüfen, ob ein Wert sinnvoll ist.

Properties

Objektinitialisierer

Primärer Konstruktor

Kurzform, bei der die Parameter direkt hinter dem Klassennamen stehen:
Seit C# 14 kann ein Property-Setter mit dem Schlüsselwort field auf das automatisch erzeugte Hintergrundfeld zugreifen: set => field = value.Trim();. Das ersetzt das eigene private Feld.

Statische Mitglieder

static gehört zur Klasse selbst, nicht zu einem einzelnen Objekt:
Bekannte statische Klassen sind Console und Math, die du nie mit new erzeugst.

Vererbung

Eine Klasse kann von einer anderen erben und deren Mitglieder übernehmen. Das vermeidet doppelten Code.

Polymorphie

Eine Variable vom Typ der Basisklasse kann jedes abgeleitete Objekt halten. Aufgerufen wird die passende Version:

Interfaces

Ein Interface legt fest, was eine Klasse können muss, aber nicht wie. Eine Klasse darf mehrere Interfaces umsetzen, aber nur von einer Klasse erben.

Records, Structs und Enums

Ideal für reine Daten. Der Compiler erzeugt Gleichheit, ToString und with automatisch:

Welche Art von Typ?


Weiter

4.2.7 Fehler & Dateien

Mit Fehlern umgehen und Daten dauerhaft speichern.