Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Classi Base e Sottoclassi | Ereditarietà
Programmazione Orientata Agli Oggetti in Python

bookClassi 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à.

123456789101112131415161718192021222324252627282930
class 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())
copy

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:

  • Manager aggiunge department
  • Developer aggiunge language

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.

Note
Nota

Questo rende la classe base la fondazione e la sottoclasse la implementazione specializzata che aggiunge flessibilità.

question mark

Qual è il ruolo di una sottoclasse nell'ereditarietà in Python?

Seleziona la risposta corretta

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 2. Capitolo 2

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Sezione 2. Capitolo 2
some-alt