IniziaInizia gratis

Ereditarietà dei metodi

L'ereditarietà è potente perché permette di riutilizzare e personalizzare il codice senza riscrivere quello esistente. Richiamando i metodi della classe genitore all'interno della classe figlia, riutilizziamo tutto il codice in quei metodi, rendendo il nostro codice conciso e gestibile.

In questo esercizio continuerai a lavorare con la classe Manager, che eredita dalla classe Employee. Aggiungerai nuovi dati alla classe e personalizzerai il metodo give_raise() del Capitolo 1 per aumentare l'ammontare dell'aumento di un manager con una percentuale di bonus ogni volta che riceve un aumento.

Nel riquadro dello script trovi una versione semplificata della classe Employee, insieme all'inizio della classe Manager dalla lezione precedente.

Questo esercizio fa parte del corso

Programmazione orientata agli oggetti in Python

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

class Employee:
    def __init__(self, name, salary=30000):
        self.name = name
        self.salary = salary

    def give_raise(self, amount):
        self.salary += amount

        
class Manager(Employee):
  # Add a constructor 
    def __init__(self, name, ____, ____):

        # Call the parent's constructor   
        ____.____(____, ____, salary)

        # Assign project attribute
        ____  

  
    def display(self):
        print("Manager ", self.name)
 
Modifica ed esegui il codice