Basklasser och Underklasser
Implementering av arv i Python sker 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.
example.py
Employee är basklassen. Den lagrar data som alla anställda delar. Manager och Developer är subklasser till Employee. De ärver automatiskt allt från basklassen, så de behöver inte skriva om samma kod.
Anropet på 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 tillför 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
Fantastiskt!
Completion betyg förbättrat till 3.85
Basklasser och Underklasser
Svep för att visa menyn
Implementering av arv i Python sker 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.
example.py
Employee är basklassen. Den lagrar data som alla anställda delar. Manager och Developer är subklasser till Employee. De ärver automatiskt allt från basklassen, så de behöver inte skriva om samma kod.
Anropet på 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 tillför flexibilitet.
Tack för dina kommentarer!