Menu
Coddy logo textTech

Récapitulatif - Hiérarchie des employés

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 22 sur 64.

challenge icon

Défi

Difficile

Dans ce défi, vous allez implémenter un système de hiérarchie d'employés.

Vous devrez compléter les fichiers suivants :

  • person.py : Implémentez la classe de base Person avec name, age et une méthode d'introduction
  • employee.py : Créez la classe Employee héritant de Person avec employee_id et salary
  • manager.py : Implémentez la classe Manager étendant Employee avec la gestion de département
  • engineer.py : Construisez la classe Engineer étendant Employee avec des compétences en programmation
  • technical_manager.py : Créez TechnicalManager en utilisant l'héritage multiple
  • hierarchy_utils.py : Implémentez une fonction utilitaire pour afficher les hiérarchies de classes

Chaque fichier contient des commentaires TODO détaillés vous guidant tout au long de l'implémentation.

Essayez vous-même

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

# Testez votre implémentation - NE MODIFIEZ PAS CE CODE DE TEST
# Créer des instances
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")

# Tester les méthodes de base
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# Tester les hiérarchies d'héritage
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# Tester la résolution de méthode dans l'héritage multiple
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())

Toutes les leçons de Object Oriented Programming