1
0
B07_oop_beispiel/main.py
2024-09-23 23:09:26 +02:00

52 lines
1.6 KiB
Python

# Definition der Basisklasse Tier
class Tier:
def __init__(self, name, art):
self.name = name # Attribut für den Namen des Tiers
self.art = art # Attribut für die Art des Tiers
def laut_gib(self):
return "Dieses Tier macht einen Laut."
def beschreibung(self):
return f"{self.name} ist ein {self.art}."
# Definition der abgeleiteten Klasse Hund
class Hund(Tier):
def __init__(self, name, rasse):
super().__init__(name, "Hund") # Aufruf des Konstruktors der Basisklasse
self.rasse = rasse # Attribut für die Rasse des Hundes
def laut_gib(self):
return "Wuff!" # Überschreiben der Methode für spezifischen Laut
def beschreibung(self):
return f"{self.name} ist ein {self.rasse} Hund."
# Definition der abgeleiteten Klasse Katze
class Katze(Tier):
def __init__(self, name, farbe):
super().__init__(name, "Katze") # Aufruf des Konstruktors der Basisklasse
self.farbe = farbe # Attribut für die Farbe der Katze
def laut_gib(self):
return "Miau!" # Überschreiben der Methode für spezifischen Laut
def beschreibung(self):
return f"{self.name} ist eine {self.farbe} Katze."
# Beispielverwendung
if __name__ == "__main__":
hund = Hund("Bello", "Labrador")
katze = Katze("Miez", "schwarz")
print(hund.beschreibung()) # Ausgabe: Bello ist ein Labrador Hund.
print(hund.laut_gib()) # Ausgabe: Wuff!
print(katze.beschreibung()) # Ausgabe: Miez ist eine schwarze Katze.
print(katze.laut_gib()) # Ausgabe: Miau!