Özet - Çalışan Hiyerarşisi
Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 22 / 64.
Görev
ZorBu 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 temelPersonsınıfını uygulayınemployee.py:Personsınıfından miras alan, employee_id ve salary özelliklerine sahipEmployeesınıfını oluşturunmanager.py: Departman yönetimi ileEmployeesınıfını genişletenManagersınıfını uygulayınengineer.py: Programlama becerileri ileEmployeesınıfını genişletenEngineersınıfını oluşturuntechnical_manager.py: Çoklu kalıtım kullanarakTechnicalManagersınıfını oluşturunhierarchy_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
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerself ParametresiMetotlarÖzniteliklerYapıcı Metot (__init__)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımsuper() FonksiyonuMetot Geçersiz KılmaÇoklu KalıtımMetot Çözümleme SırasıÖzet - Çalışan Hiyerarşisi7Özel Metotlar
Sihirli Metotlara GirişOperatör Aşırı YüklemeKapsayıcı Sihirli MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım kalıplarına girişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı13Final Meydan Okumaları
E-öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi5Çok Biçimlilik (Polymorphism)
Metot Geçersiz Kılmaya Yeniden BakışDuck TypingSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon ve KalıtımMixinsStatik ve Sınıf MetotlarıSınıf DekoratörleriBağlam Yöneticileri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı