Menu
Coddy logo textTech

Ereditarietà di base

Fa parte della sezione Programmazione orientata agli oggetti del percorso Python di Coddy. Lezione 17 di 64.

L’ereditarietà consente a una classe di ereditare attributi e metodi da un’altra classe, creando una relazione genitore-figlio.

Ecco un esempio di classe genitore:

class Animal:
    def __init__(self, name):
        self.name = name
    
    def info(self):
        print(f"I am {self.name}, an animal")

Crea una classe figlia che eredita dalla classe genitore:

class Dog(Animal):
    pass  # Eredita tutto da Animal

La sintassi class Dog(Animal): significa che Dog eredita da Animal. Inserisci il nome della classe genitore tra parentesi.

Crea oggetti da entrambe le classi:

generic_animal = Animal("Creature")
buddy = Dog("Buddy")

Usa i metodi ereditati:

generic_animal.info()
buddy.info()

Output:

I am Creature, an animal
I am Buddy, an animal

Anche se Dog non definisce __init__ o info, li eredita automaticamente da Animal.

Puoi aggiungere nuovi metodi alla classe figlia:

class Dog(Animal):
    def bark(self):
        print(f"{self.name} says Woof!")

buddy = Dog("Buddy")
buddy.info()  # Metodo ereditato
buddy.bark()  # Nuovo metodo

Output:

I am Buddy, an animal
Buddy says Woof!

Punto chiave: le classi figlie ereditano tutti gli attributi e i metodi dalla loro classe genitore. Usa la sintassi class Child(Parent): per creare l’ereditarietà. Questo ti aiuta a riutilizzare il codice e a creare gerarchie di classi logiche.

challenge icon

Sfida

Medio
  • vehicle.py: contiene la classe genitore Vehicle
  • car.py: contiene la classe Car che eredita da Vehicle
  • driver.py: file principale per testare la tua implementazione

Ogni file contiene commenti TODO dettagliati che ti guidano nell'implementazione. Dovrai:

  • Completare la classe Vehicle con gli attributi make e model
  • Implementare la corretta ereditarietà nella classe Car
  • Impostare le istruzioni di importazione corrette tra i file
  • Creare e testare gli oggetti nel file driver

Segui attentamente i commenti TODO, perché forniscono una guida passo dopo passo alla soluzione.

Provalo tu

# TODO: Importa la classe Vehicle da vehicle.py
# TODO: Importa la classe Car da car.py

# TODO: Crea un oggetto Vehicle con make "Toyota" e model "Corolla"
vehicle = None

# TODO: Crea un oggetto Car con make "Honda" e model "Civic"
car = None

# TODO: Chiama il metodo display_info() sull'oggetto vehicle
# Output previsto: "Vehicle: Toyota Corolla"

# TODO: Chiama il metodo display_info() sull'oggetto car
# Output previsto: "Vehicle: Honda Civic"
# Nota: Car eredita display_info da Vehicle senza modifiche
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Python online