Wiederholung – Mitarbeiterhierarchie
Teil des Abschnitts Objektorientierte Programmierung der Python-Journey von Coddy. Lektion 22 von 64.
Aufgabe
SchwerIn dieser Herausforderung implementierst du ein Mitarbeiterhierarchiesystem.
Du musst die folgenden Dateien vervollständigen:
person.py: Implementiere die BasisklassePersonmit Name, Alter und einer Einführungsmethodeemployee.py: Erstelle die KlasseEmployee, die vonPersonerbt, mit employee_id und Gehaltmanager.py: Implementiere die KlasseManager, dieEmployeeerweitert, mit Abteilungsverwaltungengineer.py: Erstelle die KlasseEngineer, dieEmployeeerweitert, mit Programmierkenntnissentechnical_manager.py: ErstelleTechnicalManagermithilfe von Mehrfachvererbunghierarchy_utils.py: Implementiere eine Hilfsfunktion zur Anzeige von Klassenhierarchien
Jede Datei enthält ausführliche TODO-Kommentare, die dich 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 Objektorientierte Programmierung
1Grundlagen der OOP
Externe DateienEinführung in die OOPKlassen vs. ObjekteDer self-ParameterMethodenAttributeKonstruktormethode (__init__)Zusammenfassung – Einfacher Taschenrechner4Vererbung
Grundlegende VererbungDie super()-FunktionMethodenüberschreibungMehrfachvererbungMethodenauflösungsreihenfolgeWiederholung – Mitarbeiterhierarchie7Spezielle Methoden
Einführung in magische MethodenOperatorüberladungMagische Methoden für ContainerRückblick – Benutzerdefinierte Liste10Entwurfsmuster Teil 1
Einführung in EntwurfsmusterSingleton-MusterFactory-MusterObserver-MusterStrategy-Muster13Abschließende Herausforderungen
E-Learning-PlattformBankensystemEntwicklung von SpielfigurenFahrzeugvermietungsservice2Dekoratoren
Einführung in DekoratorenProperty-DekoratorDekorator für statische MethodenDekorator für Klassenmethoden5Polymorphie
Methodenüberschreibung erneut betrachtetDuck-TypingAbstrakte Klassen und MethodenSchnittstellendesignRückblick – Formrechner8Fortgeschrittene OOP-Konzepte
Komposition vs. VererbungMixinsStatische Methoden und KlassenmethodenKlassen-DekoratorenKontextmanager3Klassenattribute
Instanz- vs. KlassenvariablenProperty-DecoratorsPrivate AttributeWiederholung – Bankkontoverwaltung6Kapselung
Öffentliche, geschützte, private MemberZugriffsmodifikatorenInformationsverbergungProperty-Decorators – FortgeschrittenWiederholung – System zur Verwaltung von Studentendaten12Projekt: Bibliotheksverwaltung
ProjektübersichtBuch- und BenutzerklassenAusleihsystemSuchfunktionAdministrationsoberflächeTests und IntegrationÜbe selbstständig: Online-Python-Compiler