Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مراجعة - هيكلية الموظفين

جزء من قسم Object Oriented Programming في رحلة Python على Coddy — الدرس 22 من 64.

challenge icon

التحدي

صعب

في هذا التحدي، ستقوم بتنفيذ نظام تسلسل هرمي للموظفين.

ستحتاج إلى إكمال الملفات التالية:

  • person.py: قم بتنفيذ الفئة الأساسية Person مع name، و age، وطريقة introduction
  • employee.py: قم بإنشاء فئة Employee التي ترث من Person مع employee_id و salary
  • manager.py: قم بتنفيذ فئة Manager التي تمتد من Employee مع إدارة القسم department
  • engineer.py: قم ببناء فئة Engineer التي تمتد من Employee مع مهارات البرمجة programming skills
  • technical_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