Vererbung

Der Rennwagen-Stammbaum

Fortschritt:
PHASE 1

Discovery & Checkpoint

Video & Einstieg
Verständnis-Check Beantworte die Frage zum Video

Gegeben ist folgende Klassenhierarchie:

class Tier:
    def __init__(self, name):
        self.name = name

    def atmen(self):
        print(self.name, "atmet.")

class Hund(Tier):
    def bellen(self):
        print(self.name, "bellt!")

waldi = Hund("Waldi")
waldi.atmen()

Was geschieht beim Ausführen dieses Codes?

PHASE 2

Parsons Puzzle

Struktur & Logik
Aufgabe Bringe die Bausteine per Drag & Drop in Reihenfolge

Bringe die Code-Bausteine in die korrekte Reihenfolge, um die Basisklasse Fahrzeug sowie die abgeleitete Klasse Rennwagen zu definieren und anschließend die geerbte Methode hupen() aufzurufen. Achte genau auf die korrekte Einrückung!

Tipp: Benutze die Anfasser zum Verschieben und ⇥- / ⇥+ zum Einrücken.

Dein Programm (Lösung) Hier die Zeilen in die richtige Reihenfolge bringen
Aussortierte Bausteine (Distraktoren) Hierhin fehlerhafte / nicht benötigte Zeilen ziehen
PHASE 3

Scaffolding & Bugfix

Geführte Praxis
Aufgabe Finde und behebe die Fehler im Code

Im Fuhrpark-System existiert ein Fehler in der Klassenvererbung.
Repariere den Klassenkopf von Traktor, sodass er von Fahrzeug erbt, und behebe den Aufruf der geerbten Methode info().

Tipp: Passe den Code im Editor an und klicke auf „Ausführen & Prüfen“.

script.py
Python 3.11
Konsole (Output)

                    

Musterlösung:
class Fahrzeug:
    def __init__(self, marke):
        self.marke = marke

    def info(self):
        print("Fahrzeug-Marke:", self.marke)

class Traktor(Fahrzeug):
    def pfluegen(self):
        print(self.marke, "pfluegt das Feld.")

trecker = Traktor("AgroTitan")
trecker.info()
trecker.pfluegen()
PHASE 4

Coding Challenge

Eigenständiges Coden
Ziel-Aufgabe Löse die Aufgabe und bestehe alle Tests

Modelliere ein Fahrzeug-Stammbaum-System nach folgenden Vorgaben:

1. Erstelle eine Basisklasse Fahrzeug mit:
- Konstruktor __init__(self, marke), der das Attribut self.marke setzt.
- Methode hupe(self), die "<marke> macht: Tut tut!" auf der Konsole ausgibt.
2. Erstelle eine abgeleitete Klasse Rennwagen, die von Fahrzeug erbt und eine eigene Methode besitzt:
- turbo(self): Gibt "<marke> rast mit 340 km/h!" aus.
3. Erstelle eine Instanz mein_renner der Klasse Rennwagen mit der Marke 'TurboGT'.
4. Rufe an mein_renner zuerst die geerbte Methode hupe() und danach turbo() auf!

Tipp: Schreibe deinen Code in den Editor und klicke auf „Code testen“.

solution.py
Python 3.11
Konsole (Output)

                    

Test-Suite

Musterlösung:
class Fahrzeug:
    def __init__(self, marke):
        self.marke = marke

    def hupe(self):
        print(self.marke + " macht: Tut tut!")

class Rennwagen(Fahrzeug):
    def turbo(self):
        print(self.marke + " rast mit 340 km/h!")

mein_renner = Rennwagen("TurboGT")
mein_renner.hupe()
mein_renner.turbo()
PHASE 5

Der modulare Fuhrpark-Simulator

Kreatives Sandbox-Labor
Freies Experimentieren Erweitere deinen Code nach deinen eigenen Ideen

Erweitere den Fuhrpark um weitere spezialisierte Klassen wie ElektroAuto (mit Methode laden()) oder Traktor (mit Anhänger-Kapazität 15 Tonnen).
Experimentiere mit mehreren Instanzen in einer Liste und lasse alle Fahrzeuge nacheinander ihre speziellen Aktionen ausführen!

Tipp: Passe den Code an, führe ihn aus oder lade dein fertiges Programm als Python-Datei herunter.

programm.py
Python 3.11
Konsole (Output)

                    

Lektion vollständig abgeschlossen!

Du hast alle Phasen gemeistert und kannst hier im Sandbox-Labor frei weiterprogrammieren.

Zur Übersicht
Lektion beendet
>_

Benutzereingabe (input)

Dein Python-Programm wartet auf eine Eingabe

Tippe deine Eingabe ein und drücke Enter ↵ oder klicke auf Absenden.