Menu
Coddy logo textTech

Özet - Çalışan Hiyerarşisi

Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 22 / 64.

challenge icon

Görev

Zor

Bu meydan okumada, bir çalışan hiyerarşisi sistemi uygulayacaksınız.

Aşağıdaki dosyaları tamamlamanız gerekecek:

  • person.py: İsim, yaş ve tanıtım yöntemi ile temel Person sınıfını uygulayın
  • employee.py: Person sınıfından miras alan, employee_id ve salary özelliklerine sahip Employee sınıfını oluşturun
  • manager.py: Departman yönetimi ile Employee sınıfını genişleten Manager sınıfını uygulayın
  • engineer.py: Programlama becerileri ile Employee sınıfını genişleten Engineer sınıfını oluşturun
  • technical_manager.py: Çoklu kalıtım kullanarak TechnicalManager sınıfını oluşturun
  • hierarchy_utils.py: Sınıf hiyerarşilerini görüntülemek için yardımcı fonksiyonu uygulayın

Her dosya, uygulama boyunca size rehberlik edecek detaylı TODO yorumları içermektedir.

Kendin dene

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

# Uygulamanızı test edin - BU TEST KODUNU DEĞİŞTİRMEYİN
# Örnekler oluşturun
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")

# Temel metotları test edin
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())

# Kalıtım hiyerarşilerini test edin
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)

# Çoklu kalıtımda metot çözümlemesini test edin
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())

Object Oriented Programming bölümündeki tüm dersler