סיכום – היררכיית עובדים
חלק מהיחידה תכנות מונחה עצמים במסלול ה-Python של Coddy. שיעור 22 מתוך 64.
אתגר
קשהבאתגר הזה תממשו מערכת היררכיית עובדים.
עליכם להשלים את הקבצים הבאים:
person.py: ממשו את מחלקת הבסיסPersonעם שם, גיל ומתודה להצגה עצמיתemployee.py: צרו את המחלקהEmployee, שיורשת מ־Personוכוללת employee_id ושכרmanager.py: ממשו את המחלקהManager, שמרחיבה אתEmployeeוכוללת ניהול מחלקהengineer.py: בנו את המחלקהEngineer, שמרחיבה אתEmployeeוכוללת כישורי תכנות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
# בדקו את המימוש שלכם - אל תשנו את קוד הבדיקה הזה
# צרו מופעים
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)
# בדקו את סדר בחירת המתודות בירושה מרובה
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())כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםהפרמטר selfמתודותמאפייניםשיטת הבנאי (__init__)חזרה: מחשבון פשוט5פולימורפיזם
בחינה מחדש של דריסת מתודותטיפוסיות ברווזמחלקות ומתודות אבסטרקטיותעיצוב ממשקיםסיכום – מחשבון צורות8מושגים מתקדמים בתכנות מונחה עצמים
קומפוזיציה לעומת הורשהMixinsמתודות סטטיות ומתודות מחלקהדקורטורים למחלקותמנהלי הקשרתרגלו בעצמכם: קומפיילר Python אונליין