Im Bereich der objektorientierten Programmierung ist die Vererbung ein zentraler Aspekt. Mit ihr kannst du von bestehenden Klassen erben und neue Funktionalitäten in Unterklassen (Subklassen) hinzufügen. In diesem Tutorial konzentrierst du dich auf die Erstellung einer spezifischen Subklasse, dem "LKW", um die Grundlagen der Vererbung in C# praxisnah zu erlernen.
Wichtigste Erkenntnisse
- Vererbung ermöglicht es, eine Subklasse von einer Basisklasse zu erstellen.
- Konstruktoren sind entscheidend, um spezifische Eigenschaften einer Subklasse festzulegen.
- Die Methoden der Basisklasse können in der Subklasse überschrieben werden, um spezifisches Verhalten zu definieren.
Schritt-für-Schritt-Anleitung
Schritt 1: Projektmappen-Explorer verwenden und Klasse hinzufügen
Um die Subklasse LKW anzulegen, öffne deinen Projektmappen-Explorer. Hier klickst du mit der rechten Maustaste auf dein Projekt und wählst die Option „Hinzufügen“. Entscheide dich für die Hinzufügung einer neuen Klasse und benenne sie „LKW“. Diese Klasse wird alle Eigenschaften und Methoden enthalten, die spezifisch für LKWs sind.

Schritt 2: Private Variable anlegen
In der LKW-Klasse legst du als nächsten Schritt eine private Variable an, die die Anzahl der Achsen speichern soll. Diese Information ist wichtig, da sie bei der Berechnung von Mautgebühren eine Rolle spielt. Du kannst die Variable „anzahlAchsen“ nennen. Damit ist der erste Teil der spezifischen Eigenschaften deines LKWs bereits definiert.
Schritt 3: Subklassenkonstruktoren anlegen
Jetzt ist es an der Zeit, die Konstruktoren deiner LKW-Klasse zu erstellen. Du fängst zuerst mit der überladenen Konstruktorenmethode an. Diese Methode akzeptiert Parameter wie Modell, Verbrauch und Tankinhalt. Dabei übergibst du diese Werte an die Konstruktorenmethode der Basisklasse Auto. Du musst sicherstellen, dass die Anzahl der Achsen ebenfalls definiert wird.
Schritt 4: Subklasse von der Basisklasse ableiten
Um sicherzustellen, dass die LKW-Klasse als Subklasse von der Basisklasse Auto erkannt wird, fügst du im Header der LKW-Klasse mit einem Doppelpunkt die Basisklasse an. Dadurch wird die Beziehung zwischen der Klasse LKW und der Basisklasse Auto hergestellt, was dir Zugriff auf deren Methoden und Eigenschaften gewährt.

Schritt 5: Zweite Subklassenkonstruktorenmethode anlegen
Zusätzlich zur überladenen Methode erstelle eine reguläre Konstruktorenmethode. Diese sollte Modell, Verbrauch und Tankinhalt als Parameter haben, aber die Anzahl der Achsen nicht als Eingabe annehmen. Stattdessen wird sie standardmäßig auf zwei gesetzt, um das häufigste Szenario eines LKWs zu bewältigen.
Schritt 6: Fahren-Methode überscheiben
Der nächste Schritt ist das Überschreiben der Fahren-Methode, die in der Basisklasse Auto definiert ist. In dieser Methode berechnest du die Fahrtkosten basierend auf der zurückgelegten Strecke, den Fahrzeugparametern und ob der LKW auf einer Autobahn gefahren ist. Du musst sicherstellen, dass die Mautkosten in Abhängigkeit von der Anzahl der Achsen berechnet werden.
Schritt 7: Verwendung einer Switch-Anweisung zur Berechnung der Maut
Hier kannst du eine Switch-Anweisung einführen, die verschiedene Fälle für die Anzahl der Achsen verarbeitet. Dies ist wichtig, da LKWs mit unterschiedlich vielen Achsen unterschiedliche Mautsätze haben. Du kannst auch alternative Kontrollstrukturen verwenden, aber die Switch-Anweisung sorgt hier für Übersichtlichkeit und Lesbarkeit.
Schritt 8: Aufruf des Subklassenkonstruktors
Nun, da deine LKW-Klasse definiert ist, kannst du im Programm CS eine Instanz der Klasse erstellen. Dafür rufst du den Konstruktor der LKW-Klasse auf, um ein neues LKW-Objekt zu erzeugen, das alle erforderlichen Parameter enthält. Du legst auch fest, wie viel der LKW verbraucht und welche spezifischen Eigenschaften er hat.

Schritt 9: Fahren des LKWs und Ausgabe der Fahrtkosten
Nachdem du den LKW instanziiert hast, lass ihn fahren, indem du die Fahrmethode aufrufst. Übergebe die zurückgelegte Distanz und ob der LKW auf der Autobahn gefahren ist oder nicht. Am Ende gibst du die Fahrtkosten, die zur Berechnung aufgrund der Achsenanzahl in der Methode gerechnet wurden, in der Konsole aus.

Zusammenfassung – LKW Subklasse in C# Anlegen
In diesem Tutorial hast du gelernt, wie du eine LKW-Subauslegung in C# erstellst. Du hast die Grundlagen der Vererbung kennengelernt und angewendet, indem du private Variablen und Konstruktoren für die Subklasse implementiert hast. Du konntest Methoden überschreiben und spezifisches Verhalten für LKWs definieren. Mit diesen Fähigkeiten kannst du jetzt komplexere objektorientierte Programme in C# schreiben.
Häufig gestellte Fragen
Was ist der Unterschied zwischen einer Klasse und einer Subklasse?Eine Klasse ist ein allgemeines Vorlagenmodell, während eine Subklasse spezifische Eigenschaften und Methoden von der Basisklasse erbt.
Wie erstelle ich einen Konstruktor in C#?Ein Konstruktor wird durch die Klasse, die er erstellt, definiert und trägt denselben Namen wie die Klasse ohne Rückgabewert.
Kann ich eine Methode in der Subklasse mehrfach überschreiben?Ja, du kannst eine Methode in der Subklasse überschreiben. Das ist nützlich, um spezifisches Verhalten für unterschiedliche Subklassen zu definieren.
Wie benutze ich die Switch-Anweisung in C#?Die Switch-Anweisung ermöglicht es dir, unterschiedliche Code-Pfade je nach Wert einer Variablen zu steuern. Es ist eine effektive Möglichkeit, um komplexe Verzweigungen zu vermeiden.