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

בבית חולים מסוים פותח פרויקט לניהול הצוות הרפואי. לכל עובד (Employee) בבית החולים יש שם ומספר עובד. מספר העובד הוא מספר ייחודי הניתן באופן אוטומטי עם הוספת עובד חדש למאגר העובדים, כך שהעובד הראשון יקבל את המספר 1, העובד השני 2, וכך הלאה.

לאחות (Nurse) יש את התכונות:

  • num – מספר עובד, מטיפוס שלם, int
  • name – שם, מטיפוס מחרוזת, String
  • type – סוג (מעשית, מוסמכת), מטיפוס מחרוזת, String

לרופא (Doctor) יש את התכונות:

  • num – מספר עובד, מטיפוס שלם, int
  • name – שם, מטיפוס מחרוזת, String
  • specialization – התמחות (רופא לב, רופא מרדים, רופא מנתח וכו'), מטיפוס מחרוזת, String

ראש צוות (Supervisor) – ראש צוות הוא רופא שאחראי על צוות של עד עשרה רופאים ואחיות:

  • arr – מערך של אנשי הצוות הכפופים לראש הצוות
  • current – מספר אנשי הצוות בפועל, מטיפוס שלם, int
סעיף א

שרטטו תרשים 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)

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

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

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

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