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.
Défi
DifficileDans 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 basePersonavec name, age et une méthode d'introductionemployee.py: Créez la classeEmployeehéritant dePersonavec employee_id et salarymanager.py: Implémentez la classeManagerétendantEmployeeavec la gestion de départementengineer.py: Construisez la classeEngineerétendantEmployeeavec des compétences en programmationtechnical_manager.py: CréezTechnicalManageren utilisant l'héritage multiplehierarchy_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
1Les fondamentaux de la POO
Fichiers externesIntroduction à la POOClasses vs ObjetsLe paramètre selfMéthodesAttributsMéthode constructeur (__init__)Récapitulatif - Calculatrice simple4Héritage
Héritage de baseLa fonction super()Redéfinition de méthodeHéritage multipleOrdre de résolution des méthodesRécapitulatif - Hiérarchie des employés7Méthodes spéciales
Introduction aux méthodes magiquesSurcharge d'opérateursMéthodes magiques de conteneurRécapitulatif - Liste personnalisée10Patrons de conception, Partie 1
Introduction aux patrons de conceptionPatron SingletonPatron FactoryPatron ObserverPatron Strategy2Décorateurs
Introduction aux décorateursDécorateur de propriétéDécorateur de méthode statiqueDécorateur de méthode de classe5Polymorphisme
Retour sur la redéfinition de méthodeDuck TypingClasses et méthodes abstraitesConception d'interfacesRécapitulatif - Calculateur de formes8Concepts avancés de la POO
Composition vs HéritageMixinsMéthodes statiques et de classeDécorateurs de classeGestionnaires de contexte11Patrons de conception, Partie 2
Patron CommandePatron AdaptateurPatron DécorateurPatron Méthode TemplatePatron ÉtatPatron Composite3Propriétés de classe
Variables d'instance vs variables de classeDécorateurs de propriétéAttributs privésRécapitulatif - Gestionnaire de compte bancaire