class Person:
"""Eine Klasse, die eine Person repräsentiert."""
def __init__(self, name, age):
"""Konstruktor für die Klasse Person."""
self.name = name
self.age = age
def introduce(self):
"""Gibt eine Vorstellung der Person aus."""
print(f"Hallo, mein Name ist {self.name} und ich bin {self.age} Jahre alt.")
# Objekt erstellen
person1 = Person("Alice", 30)
person1.introduce()
class Student(Person):
"""Eine Klasse, die einen Studenten repräsentiert."""
def __init__(self, name, age, major):
"""Konstruktor für die Klasse Student."""
super().__init__(name, age) # Aufruf des Konstruktors der Elternklasse
self.major = major
def introduce(self):
"""Überschreibt die Methode der Elternklasse."""
print(f"Hallo, mein Name ist {self.name}, ich bin {self.age} Jahre alt und studiere {self.major}.")
# Objekt erstellen
student1 = Student("Bob", 22, "Informatik")
student1.introduce()
class Worker:
"""Eine Klasse, die einen Arbeiter repräsentiert."""
def __init__(self, job):
"""Konstruktor für die Klasse Worker."""
self.job = job
def work(self):
"""Gibt den Beruf des Arbeiters aus."""
print(f"Ich arbeite als {self.job}.")
class StudentWorker(Student, Worker):
"""Eine Klasse für einen Studenten, der auch arbeitet."""
def __init__(self, name, age, major, job):
"""Konstruktor für die Klasse StudentWorker."""
Student.__init__(self, name, age, major)
Worker.__init__(self, job)
def introduce(self):
"""Erweitert die Vorstellungsmethode."""
print(f"Ich bin {self.name}, {self.age} Jahre alt, studiere {self.major} und arbeite als {self.job}.")
# Objekt erstellen
student_worker = StudentWorker("Clara", 25, "Maschinenbau", "Werkstudent")
student_worker.introduce()
from abc import ABC, abstractmethod
class Animal(ABC):
"""Eine abstrakte Klasse für Tiere."""
@abstractmethod
def make_sound(self):
"""Abstrakte Methode, die von Unterklassen implementiert werden muss."""
pass
class Dog(Animal):
"""Eine Klasse, die einen Hund repräsentiert."""
def make_sound(self):
"""Implementiert die abstrakte Methode."""
print("Wuff Wuff!")
# Objekt erstellen
dog = Dog()
dog.make_sound()