Menu
Coddy logo textTech

Riepilogo - Gerarchia dei dipendenti

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

challenge icon

Sfida

Difficile

In questa sfida implementerai un sistema di gerarchia dei dipendenti.

Dovrai completare i seguenti file:

  • person.py: implementa la classe base Person con nome, età e un metodo di presentazione
  • employee.py: crea la classe Employee che eredita da Person, con employee_id e stipendio
  • manager.py: implementa la classe Manager che estende Employee, con gestione del reparto
  • engineer.py: crea la classe Engineer che estende Employee, con competenze di programmazione
  • technical_manager.py: crea TechnicalManager usando l'ereditarietà multipla
  • hierarchy_utils.py: implementa una funzione di utilità per visualizzare le gerarchie delle classi

Ogni file contiene commenti TODO dettagliati che ti guideranno nell'implementazione.

Provalo tu

from person import Person
from employee import Employee
from manager import Manager
from engineer import Engineer
from technical_manager import TechnicalManager
from hierarchy_utils import show_hierarchy

# Metti alla prova la tua implementazione - NON MODIFICARE QUESTO CODICE DI TEST
# Crea le istanze
person = Person("John Smith", 30)
employee = Employee("Alice Johnson", 35, "E12345", 60000)
manager = Manager("Bob Williams", 45, "M54321", 85000, "Marketing")
engineer = Engineer("Carol Davis", 28, "E98765", 75000, "Python")
tech_mgr = TechnicalManager("Dave Wilson", 40, "TM24680", 90000, "R&D", "Java")

# Verifica i metodi di base
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# Verifica le gerarchie di ereditarietà
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# Verifica la risoluzione dei metodi nell'ereditarietà multipla
print("\nTechnical Manager tests:")
print(tech_mgr.introduce())
print(f"Monthly pay: ${tech_mgr.calculate_paycheck():.2f}")
print(tech_mgr.manage_team())
print(tech_mgr.code())

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Compilatore Python online