IniziaInizia gratis

Personalizza una sottoclasse

L'ereditarietà è potente perché ti permette di riutilizzare e personalizzare il codice senza riscrivere quello esistente. Chiamando i metodi della classe genitore all'interno della classe figlia, riutilizzi tutto il codice in quei metodi, mantenendo il tuo codice conciso e gestibile.

In questo esercizio continuerai a lavorare con la classe Manager, che eredita dalla classe Employee. Aggiungerai un costruttore che si basa su quello di Employee, accettando un argomento aggiuntivo per specificare il progetto su cui sta lavorando il manager.

Una versione semplificata della classe Employee, insieme all'inizio della classe Manager che hai creato in precedenza, è già disponibile in script.py.

Questo esercizio fa parte del corso

Introduzione alla programmazione orientata agli oggetti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Aggiungi un costruttore a Manager che accetti name, salary (valore predefinito 50000) e project (valore predefinito None).
  • All'interno del costruttore di Manager, chiama il costruttore della classe Employee fornendo i tre argomenti definiti nel costruttore della classe genitore.
  • Usa self per assegnare l'attributo pertinente all'argomento project.

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