Menu
Coddy logo textTech

Podsumowanie – hierarchia pracowników

Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 22 z 64.

challenge icon

Wyzwanie

Trudny

W tym wyzwaniu zaimplementujesz system hierarchii pracowników.

Musisz uzupełnić następujące pliki:

  • person.py: Zaimplementuj bazową klasę Person z imieniem, wiekiem i metodą przedstawiania się
  • employee.py: Utwórz klasę Employee dziedziczącą po Person, zawierającą employee_id i wynagrodzenie
  • manager.py: Zaimplementuj klasę Manager rozszerzającą Employee o zarządzanie działem
  • engineer.py: Utwórz klasę Engineer rozszerzającą Employee o umiejętności programistyczne
  • technical_manager.py: Utwórz klasę TechnicalManager z wykorzystaniem wielokrotnego dziedziczenia
  • hierarchy_utils.py: Zaimplementuj funkcję pomocniczą wyświetlającą hierarchie klas

Każdy plik zawiera szczegółowe komentarze TODO, które poprowadzą Cię przez implementację.

Spróbuj swoich sił

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

# Przetestuj swoją implementację - NIE MODYFIKUJ TEGO KODU TESTOWEGO
# Utwórz instancje
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")

# Przetestuj podstawowe metody
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# Przetestuj hierarchie dziedziczenia
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# Przetestuj kolejność rozstrzygania metod przy dziedziczeniu wielokrotnym
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())

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Python online