Zusammenfassung - Mitarbeiter-Hierarchie
Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 22 von 64.
Aufgabe
SchwerIn dieser Herausforderung implementieren Sie ein Mitarbeiter-Hierarchiesystem.
Sie müssen die folgenden Dateien vervollständigen:
person.py: Implementieren Sie die BasisklassePersonmit name, age und einer introduction-Methodeemployee.py: Erstellen Sie die KlasseEmployee, die vonPersonerbt, mit employee_id und salarymanager.py: Implementieren Sie die KlasseManager, dieEmployeeerweitert, mit Abteilungsmanagementengineer.py: Erstellen Sie die KlasseEngineer, dieEmployeeerweitert, mit Programmierkenntnissentechnical_manager.py: Erstellen SieTechnicalManagerunter Verwendung von Mehrfachvererbunghierarchy_utils.py: Implementieren Sie eine Hilfsfunktion zur Anzeige von Klassenhierarchien
Jede Datei enthält detaillierte TODO-Kommentare, die Sie durch die Implementierung führen.
Probier es selbst
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
# Testen Sie Ihre Implementierung - DIESEN TESTCODE NICHT ÄNDERN
# Instanzen erstellen
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")
# Basismethoden testen
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())
# Vererbungshierarchien testen
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)
# Method Resolution bei Mehrfachvererbung testen
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())Alle Lektionen in Object Oriented Programming
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktor-Methode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlagen der VererbungDie super()-FunktionMethoden überschreibenMehrfachvererbungMethod Resolution OrderZusammenfassung - Mitarbeiter-Hierarchie7Spezielle Methoden
Einführung in Magic MethodsOperator-ÜberladungMagic Methods für ContainerRückblick - Eigene Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschlussherausforderungen
E-Learning-PlattformBanksystemSpielcharakter-EntwicklungFahrzeugvermietung2Dekoratoren
Einführung in DekoratorenProperty-DekoratorStatischer Methoden-DekoratorKlassenmethoden-Dekorator5Polymorphismus
Methoden-Überschreiben vertieftDuck TypingAbstrakte Klassen und MethodenInterface-DesignZusammenfassung – Formen-Rechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische und KlassenmethodenKlassendekoratorenContext Manager3Klasseneigenschaften
Instanz- vs. KlassenvariablenProperty-DekoratorenPrivate AttributeZusammenfassung – Bankkonto-Manager6Kapselung
Public, Protected, Private MemberZugriffsmodifikatorenInformation HidingProperty-Decorators für FortgeschritteneZusammenfassung - Studentenverwaltungssystem12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und Benutzerklassen