נתון פרויקט שבו הוגדרו מחלקות V, W, X, Y, Z.

הפעולה stam() מומשה בשתי מחלקות. במחלקה נוספת באותו פרויקט, בשם Tester, נכתב קטע הקוד הבא בפעולה main, והוא תקין:

V v1 = new V(9);
V v2 = new Y("9");
V v3 = new Z(new V(6));
W w1 = new W(z1, v2);
Y y1 = new Y("5");
Z z1 = new W(4, 1.1, 'Z', true);
Z z2 = new Z();
Z z3 = new X();

z2.stam();  // תקין ומדפיס "Good"
z3.stam();  // תקין ומדפיס "Good"
w1.stam();  // תקין ומדפיס "Bad"

// חמש הפקודות האלה גורמות לשגיאות:
X x1 = new W();           // שגיאת קומפילציה
v1.stam();              // שגיאת קומפילציה
y1.stam();              // שגיאת קומפילציה
((Z)y1).stam();         // שגיאת קומפילציה
((Z)v2).stam();         // שגיאת זמן ריצה
(א)שרטטו תרשים היררכיה UML המתאר עץ ירושה אפשרי עבור מחלקות הפרויקט.
(ב)ציינו באילו מחלקות מומשה הפעולה stam().
(ג)כתבו את כותרות כל המחלקות וכותרות הפעולות הבונות (הבנאים) הנדרשות. אין צורך לממש את הבנאים.

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

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

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

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←