Basklasser och Underklasser
Svep för att visa menyn
Implementering av arv i Python görs genom basklasser (föräldrar) och subklasser (barn).
En basklass definierar allmänna egenskaper och beteenden, medan en subklass ärver dessa funktioner och kan utöka dem med egna.
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 är basklassen. Den lagrar data som alla anställda delar. Manager och Developer är subklasser av Employee. De får automatiskt allt från basklassen, så de behöver inte skriva om samma kod.
Anropet till super() kör basklassens konstruktor, så att name och salary sätts korrekt. Varje subklass lägger sedan till sin egen data:
Managerlägger tilldepartmentDeveloperlägger tilllanguage
Båda subklasserna överskuggar också get_info(). De återanvänder basklassens version med super().get_info() och utökar sedan resultatet med sina egna detaljer.
Detta gör basklassen till grunden, och subklassen till den specialiserade implementationen som ger flexibilitet.
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal