בחברת התקשורת "אוזניים לעתיד" יש 4 סוגי עובדים. כל עובד שייך לסוג אחד בלבד:
Employee — עובד רגיל: עובד רגיל בחברה.UnionMember — חבר ועד: עובד שחבר בוועד העובדים.Technician — טכנאי: עובד שאחראי על כמה מחשבים בחברה (כל טכנאי אחראי על מספר שונה של מחשבים).Supervisor — אחראי פרויקט: עובד שמנהל פרויקטים מיוחדים בחברה. הוא אחראי על 15 עובדים, ובהם עובדים רגילים, חברי ועד וטכנאים.החלטות בחברה מתקבלות באמצעות הצבעה של כל עובדי החברה. ההצבעה נערכת באמצעות נקודות — לכל עובד יש מספר נקודות שונה, לפי סוגו:
על הסעיפים שלפניכם יש לענות באופן המתאים ביותר לעקרונות תכנות מונחה עצמים.
סרטטו תרשים הייררכייה בין המחלקות Employee, UnionMember, Technician, Supervisor. יש לסמן ירושה באמצעות החץ (———▶) והכלה באמצעות הסימן (———◆).
עבור כל אחת מן המחלקות כתבו את כותרת המחלקה, את התכונות שלה, ואת הפעולה getScore (ב-C#: GetScore) המחזירה את מספר הנקודות בהצבעה. אין צורך לכתוב פעולה בונה ופעולות get ו-set.
הנחיה: הנתונים הקבועים של מספר הנקודות (למשל ה-4 נקודות של עובד רגיל) אינם חלק מתכונות המחלקות, ויש להשתמש בהם רק בכתיבת הפעולה getScore.
הועלתה הצעה לשנות את שם החברה ל"תקשורת עתידית". כל העובדים הרגילים והטכנאים תומכים בהצעה, וכל חברי הוועד והאחראים לפרויקטים מתנגדים לה. רק אם סך הנקודות בעד ההצעה גדול מסך הנקודות נגד ההצעה — ההצעה מתקבלת, אחרת היא אינה מתקבלת.
נתונה כותרת הפעולה public static boolean isAccepted (Object[] arr) (ב-C#: public static bool IsAccepted (Object[] arr)), המקבלת מערך של כל עובדי החברה ומחזירה true אם ההצעה התקבלה, אחרת false. ממשו את הפעולה.
בחברת התקשורת "אוזניים לעתיד" יש 4 סוגי עובדים. כל עובד שייך לסוג אחד בלבד:
Employee — עובד רגיל: עובד רגיל בחברה.UnionMember — חבר ועד: עובד שחבר בוועד העובדים.Technician — טכנאי: עובד שאחראי על כמה מחשבים בחברה (כל טכנאי אחראי על מספר שונה של מחשבים).Supervisor — אחראי פרויקט: עובד שמנהל פרויקטים מיוחדים בחברה. הוא אחראי על 15 עובדים, ובהם עובדים רגילים, חברי ועד וטכנאים.החלטות בחברה מתקבלות באמצעות הצבעה של כל עובדי החברה. ההצבעה נערכת באמצעות נקודות — לכל עובד יש מספר נקודות שונה, לפי סוגו:
על הסעיפים שלפניכם יש לענות באופן המתאים ביותר לעקרונות תכנות מונחה עצמים.
סרטטו תרשים הייררכייה בין המחלקות Employee, UnionMember, Technician, Supervisor. יש לסמן ירושה באמצעות החץ (———▶) והכלה באמצעות הסימן (———◆).
עבור כל אחת מן המחלקות כתבו את כותרת המחלקה, את התכונות שלה, ואת הפעולה getScore (ב-C#: GetScore) המחזירה את מספר הנקודות בהצבעה. אין צורך לכתוב פעולה בונה ופעולות get ו-set.
הנחיה: הנתונים הקבועים של מספר הנקודות (למשל ה-4 נקודות של עובד רגיל) אינם חלק מתכונות המחלקות, ויש להשתמש בהם רק בכתיבת הפעולה getScore.
הועלתה הצעה לשנות את שם החברה ל"תקשורת עתידית". כל העובדים הרגילים והטכנאים תומכים בהצעה, וכל חברי הוועד והאחראים לפרויקטים מתנגדים לה. רק אם סך הנקודות בעד ההצעה גדול מסך הנקודות נגד ההצעה — ההצעה מתקבלת, אחרת היא אינה מתקבלת.
נתונה כותרת הפעולה public static boolean isAccepted (Object[] arr) (ב-C#: public static bool IsAccepted (Object[] arr)), המקבלת מערך של כל עובדי החברה ומחזירה true אם ההצעה התקבלה, אחרת false. ממשו את הפעולה.