
GUIDE PER ASPIRANTI PROGRAMMATORI
Ereditarietà in Python
La programmazione orientata agli oggetti supporta il concetto di ereditarietà, che consente di creare nuove classi basate su classi esistenti. Una classe figlia eredita gli attributi e i metodi della classe genitore. Questo facilita la creazione di gerarchie di classi. Vediamone un esempio in Python. class SUV(Automobile): def __init__(self, marca, modello, capacita_bagagliaio): super().__init__(marca, modello)…


Vuoi avviare una nuova carriera o fare un upgrade?
Trova il corso Digital & Tech più adatto a te nel nostro catalogo!
La programmazione orientata agli oggetti supporta il concetto di ereditarietà, che consente di creare nuove classi basate su classi esistenti. Una classe figlia eredita gli attributi e i metodi della classe genitore. Questo facilita la creazione di gerarchie di classi. Vediamone un esempio in Python.
class SUV(Automobile): def __init__(self, marca, modello, capacita_bagagliaio): super().__init__(marca, modello) self.capacita_bagagliaio = capacita_bagagliaio def info(self): return f"{self.marca} {self.modello}, Capacità bagagliaio: {self.capacita_bagagliaio} litri"
Nel codice sopra, abbiamo definito una nuova classe chiamata SUV che eredita dalla classe Automobile. Ecco come funziona:
- Definizione della classe figlia ‘SUV’: Iniziamo definendo la classe SUV. Nota che mettiamo tra parentesi il nome della classe genitore Automobile dopo il nome della classe figlia. Questo indica che SUV eredita dalla classe Automobile.
- Il costruttore __init__ della classe figlia: All’interno del costruttore della classe figlia SUV, stiamo utilizzando super().__init__(marca, modello) per chiamare il costruttore della classe genitore Automobile. Questo ci consente di inizializzare gli attributi ereditati marca e modello come se stessimo creando un’istanza di Automobile. Inoltre, stiamo inizializzando un nuovo attributo specifico di SUV chiamato capacita_bagagliaio.
- Il metodo info ridefinito: La classe SUV ridefinisce il metodo info ereditato dalla classe genitore Automobile. Ora il metodo info restituirà una stringa che include la marca, il modello e la capacità del bagagliaio del SUV.
In pratica, ora possiamo creare oggetti di tipo SUV utilizzando il costruttore della classe SUV e accedere ai metodi e agli attributi ereditati dalla classe Automobile oltre agli attributi specifici di SUV.
Ecco un esempio di utilizzo:
suv1 = SUV("Jeep", "Cherokee", 500) print(suv1.info()) # Stampa "Jeep Cherokee, Capacità bagagliaio: 500 litri"
In questo modo, l’ereditarietà ci consente di estendere e specializzare le classi esistenti in modo efficiente, riducendo la duplicazione del codice e migliorando la chiarezza e la manutenibilità del nostro programma.
CONTENUTI GRATUITI IN EVIDENZA
Guide per aspiranti programmatori 👨🏻🚀
Vuoi muovere i primi passi nel Digital e Tech? Abbiamo preparato alcune guide per aiutarti a orientarti negli ambiti più richiesti oggi.