היררכיית ירושה: Employee (בסיס, עם מספר עובד אוטומטי) → Nurse ו-Doctor (כל אחת מוסיפה תכונה), Doctor → Supervisor (ראש צוות הוא רופא עם צוות). AllEmployees מנהלת את כולם במערך אחד, וצריכה instanceof/is וקאסט כדי לזהות ולמיין לפי הסוג בפועל.
היררכיית ירושה: Employee (בסיס, עם מספר עובד אוטומטי) → Nurse ו-Doctor (כל אחת מוסיפה תכונה), Doctor → Supervisor (ראש צוות הוא רופא עם צוות). AllEmployees מנהלת את כולם במערך אחד, וצריכה instanceof/is וקאסט כדי לזהות ולמיין לפי הסוג בפועל.
שרטטו תרשים UML המתאר את הקשר בין המחלקות Employee, Nurse, Doctor, Supervisor באופן המתאים ביותר לעקרונות של תכנות מונחה עצמים.
לכל אחת מהמחלקות Employee, Nurse, Doctor, Supervisor כתבו: כותרת המחלקה; תכונות; פעולה בונה — הפעולה הבונה של כל מחלקה מקבלת את כל הפרמטרים הנדרשים. הערה: יש לשים לב שמספר העובד הוא מספר ייחודי, שנוצר באופן אוטומטי, ואין להעבירו כפרמטר לפעולה בונה.
המחלקה AllEmployees מיועדת לנהל את כל העובדים בבית החולים. תכונות המחלקה: arr — מערך של כל אנשי הצוות (בבית חולים יכולים לעבוד לא יותר מ-200 אנשי צוות); current — מספר אנשי הצוות בפועל. כתבו את כותרת המחלקה ואת התכונות של המחלקה AllEmployees, והוסיפו את הפעולות הפנימיות הבאות: פעולה בשם numSupervisor המחזירה את מספר ראשי כל הצוותים; פעולה בשם getNewNurse המקבלת את סוג האחות ומחזירה את האחות מהסוג הנדרש שהצטרפה אחרונה למאגר העובדים (מספר העובד שלה מקסימלי); אם אין אחות מהסוג הנדרש, הפעולה תחזיר null. הערה: הניחו שהפעולות get ו-set מוגדרות בעבור כל תכונה בכל אחת מהמחלקות.
public int numSupervisor() public Nurse getNewNurse(String type)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.