Classi Base e Sottoclassi
Scorri per mostrare il menu
L'implementazione dell'ereditarietà in Python avviene tramite classi base (genitori) e sottoclassi (figli).
Una classe base definisce proprietà e comportamenti generali, mentre una sottoclasse eredita queste caratteristiche e può estenderle con proprie funzionalità.
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 è la classe base. Memorizza i dati condivisi da tutti i dipendenti. Manager e Developer sono sottoclassi di Employee. Ottengono automaticamente tutto dalla classe base, quindi non è necessario riscrivere lo stesso codice.
La chiamata a super() esegue il costruttore della classe base, così name e salary vengono impostati correttamente. Ogni sottoclasse aggiunge poi i propri dati:
ManageraggiungedepartmentDeveloperaggiungelanguage
Entrambe le sottoclassi sovrascrivono anche get_info(). Riutilizzano la versione della classe base con super().get_info() e poi estendono il risultato con i propri dettagli.
Questo rende la classe base la fondazione e la sottoclasse la implementazione specializzata che aggiunge flessibilità.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione