פרויקט לניהול צוות עובדים במכללה: לכל עובד יש name ומספר עובד ייחודי num שנוצר אוטומטית (1,2,3... לפי סדר ההצטרפות). Tutor (courseNum), Lecturer (specialization) יורשים מ-Employee; Head (arr, current — צוות של 8–20 מרצים/מתרגלים) יורש מ-Lecturer. TeachingStaff מנהלת את כל 200 העובדים במכללה.
פרויקט לניהול צוות עובדים במכללה: לכל עובד יש 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)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.