Récapitulatif - Hiérarchie des employés
Fait partie de la section Programmation orientée objet 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 des employés.
Vous devrez compléter les fichiers suivants :
person.py: implémenter la classe de basePersonavec un nom, un âge et une méthode de présentationemployee.py: créer la classeEmployeehéritant dePerson, avec un identifiant d’employé et un salairemanager.py: implémenter la classeManagerétendantEmployee, avec la gestion d’un serviceengineer.py: construire la classeEngineerétendantEmployee, avec des compétences en programmationtechnical_manager.py: créerTechnicalManageren utilisant l’héritage multiplehierarchy_utils.py: implémenter une fonction utilitaire pour afficher les hiérarchies de classes
Chaque fichier contient des commentaires TODO détaillés qui vous guideront dans 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 Programmation orientée objet
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 bancaireEntraînez-vous par vous-même : Compilateur Python en ligne