פרויקט לניהול צוות עובדים במכללה: לכל עובד יש name ומספר עובד ייחודי num שנוצר אוטומטית (1,2,3... לפי סדר ההצטרפות). Tutor (courseNum), Lecturer (specialization) יורשים מ-Employee; Head (arr, current — צוות של 8–20 מרצים/מתרגלים) יורש מ-Lecturer. TeachingStaff מנהלת את כל 200 העובדים במכללה.
סעיף א
סרטטו תרשים UML המתאר את הקשר בין המחלקות Employee, Tutor, Lecturer, Head, באופן המתאים ביותר לעקרונות של תכנות מונחה עצמים.
סעיף ב
לכל אחת מהמחלקות Employee, Tutor, Lecturer, Head כתבו: כותרת המחלקה; תכונות; פעולה בונה — הפעולה הבונה של כל מחלקה מקבלת את כל הפרמטרים הנדרשים. הערה: יש לשים לב שמספר העובד הוא מספר ייחודי שנוצר באופן אוטומטי, ואין להעבירו כפרמטר לפעולה בונה!
סעיף ג
המחלקה TeachingStaff מיועדת לנהל את כל העובדים במכללה. תכונות המחלקה: arr — מערך של כל אנשי הצוות במכללה. במכללה יכולים לעבוד לא יותר מ-200 אנשי צוות; current — מספר אנשי הצוות בפועל (int). כתבו את כותרת המחלקה ואת התכונות של המחלקה TeachingStaff, והוסיפו את הפעולות הפנימיות הבאות:
- פעולה בשם NumHeads המחזירה את מספר ראשי הצוותים.
- פעולה בשם GetNewTutor המקבלת את מספר הקורס, ומחזירה את המתרגל המלמד בקורס שהצטרף אחרון למאגר העובדים (מספר העובד שלו מקסימלי). אם אין מתרגל בקורס הנדרש, הפעולה תחזיר null. הערה: הניחו שהפעולות Get ו-Set מוגדרות בעבור כל תכונה בכל אחת מהמחלקות.
public int NumHeads() / public Tutor GetNewTutor(int courseNum)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.