مراجعة - هيكلية الموظفين
جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 22 من 64.
التحدي
صعبفي هذا التحدي، ستقوم بتنفيذ نظام تسلسل هرمي للموظفين.
ستحتاج إلى إكمال الملفات التالية:
person.py: قم بتنفيذ الفئة الأساسيةPersonمع name، و age، وطريقة introductionemployee.py: قم بإنشاء فئةEmployeeالتي ترث منPersonمع employee_id و salarymanager.py: قم بتنفيذ فئةManagerالتي تمتد منEmployeeمع إدارة القسم departmentengineer.py: قم ببناء فئةEngineerالتي تمتد منEmployeeمع مهارات البرمجة programming skillstechnical_manager.py: قم بإنشاءTechnicalManagerباستخدام الوراثة المتعددةhierarchy_utils.py: قم بتنفيذ دالة مساعدة لعرض التسلسلات الهرمية للفئات
يحتوي كل ملف على تعليقات TODO مفصلة ترشدك خلال عملية التنفيذ.
جرّب بنفسك
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
# اختبر تنفيذك - لا تقم بتعديل كود الاختبار هذا
# إنشاء كائنات (Instances)
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")
# اختبار الدوال الأساسية
print(person.introduce())
print(employee.introduce())
print(f"Monthly pay: ${employee.calculate_paycheck():.2f}")
print(manager.manage_team())
print(engineer.code())
# اختبار تسلسل الوراثة
print("\nHierarchy demonstrations:")
show_hierarchy(TechnicalManager)
# اختبار ترتيب استدعاء الدوال (Method Resolution) في الوراثة المتعددة
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
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكال