Basisklassen en Subklassen
Veeg om het menu te tonen
Implementatie van overerving in Python gebeurt via basisklassen (ouders) en subklassen (kinderen).
Een basisklasse definieert algemene eigenschappen en gedragingen, terwijl een subklasse deze kenmerken erft en kan uitbreiden met eigen functionaliteit.
123456789101112131415161718192021222324252627282930class Employee: def __init__(self, name, salary): self.name = name self.salary = salary def get_info(self): return f"{self.name}, {self.salary}" class Manager(Employee): def __init__(self, name, salary, department): super().__init__(name, salary) self.department = department def get_info(self): return f"{super().get_info()}, {self.department}" class Developer(Employee): def __init__(self, name, salary, language): super().__init__(name, salary) self.language = language def get_info(self): return f"{super().get_info()}, {self.language}" print(Employee("Anna", 2000).get_info()) print(Manager("Mark", 3500, "IT").get_info()) print(Developer("Lena", 3000, "Python").get_info())
Employee is de basisklasse. Deze slaat de gegevens op die alle werknemers delen. Manager en Developer zijn subklassen van Employee. Zij krijgen automatisch alles van de basisklasse, zodat ze dezelfde code niet opnieuw hoeven te schrijven.
De aanroep van super() voert de constructor van de basisklasse uit, zodat name en salary correct worden ingesteld. Elke subklasse voegt vervolgens zijn eigen gegevens toe:
ManagervoegtdepartmenttoeDevelopervoegtlanguagetoe
Beide subklassen overschrijven ook get_info(). Ze hergebruiken de basisversie met super().get_info() en breiden het resultaat uit met hun eigen details.
Hierdoor wordt de basisklasse de fundering en de subklasse de gespecialiseerde implementatie die flexibiliteit toevoegt.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.