IniziaInizia gratis

Ereditarietà dei metodi

In questo esercizio estenderai la classe Manager (che eredita dalla classe Employee), creata nell'esercizio precedente, aggiungendo un metodo chiamato give_raise(). Sarà simile al metodo con lo stesso nome nella classe Employee, ma includerà un argomento aggiuntivo chiamato bonus.

La classe Manager che hai creato in precedenza è stata fornita per te 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 metodo give_raise() a Manager che accetti gli stessi parametri di Employee.give_raise(), più un argomento bonus con valore predefinito 1.05 (bonus del 5%).
  • All'interno del metodo, calcola new_amount moltiplicando amount per bonus.
  • All'interno del metodo, usa il metodo di Employee per aumentare lo stipendio di new_amount.

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):
  def display(self):
    print("Manager ", self.name)

  def __init__(self, name, salary=50000, project=None):
    Employee.__init__(self, name, salary)
    self.project = project

  # Add a give_raise method
  ____:
    ____
    ____
    
mngr = Manager("Ashta Dunbar", 78500)
mngr.give_raise(2000, bonus=1.03)
print(mngr.salary)
Modifica ed esegui il codice