אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2021 · קיץ מועד א · שאלה 9כל שאלות המבחן ←
תכנות מונחה עצמיםתרשימי UML

היררכיית ירושה: 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)

שאלות ותגובות על השאלה

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה לתכנות עונה כאן — תקבלו מענה מקצועי