לפניכם שלושה ממשקים ושלוש מחלקות:
- הממשק Inter1:
void G1() - הממשק Inter2:
void G2() - הממשק Inter3:
void G3() - המחלקה F: … (כותרות הפעולות לא מופיעות)
- המחלקה G: … (כותרות הפעולות לא מופיעות)
- המחלקה H:
void G2(),void G3(),void G4()
נתון קטע מפעולה ראשית. הקטע עובד ללא שגיאות הידור או שגיאות זמן ריצה.
Inter1 x = new F();
G y = new G();
Inter3 z = new H();
x = y;
y = new H();
y.G2();
z.G3();
((H)z).G4();
z = new F();
סימון הקשרים בתרשים: חץ רציף – ירושה, חץ מקווקו – מימוש.
סעיף א
השלימו את תרשים ה-UML: הוסיפו כותרות הפעולות במחלקות F ו-G, ציירו קשרים בין המחלקות והממשקים.
סעיף ב
כתבו פעולה המקבלת מערך עצמים מסוג Object. הפעולה מדפיסה את מספר האיברים שעבורם אפשר להפעיל את הפעולה g1(), ואת מספר האיברים שעבורם אי אפשר להפעיל את הפעולה g3().
public static void CountG1G3(object[] arr)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.