בסעיף ב' נתונה היררכיית המחלקות Point←Circle←Cylinder עם שרשרת toString; יש להשלים בונים ודריסות כך שהפלט יהיה 'x = 1, radius = 2' ו-'x = 10, radius = 20, height = 30'.
קטע הקוד מ-main (סעיף א'):
Three x1 = new One();
Two x2 = (Two)(new One());
Two x3 = new Four();
One x4 = new Four();
סעיף א
נתונה הפעולה main במחלקה Driver (ראו את קטע הקוד למעלה). נתונות חמש האפשרויות לעץ הירושה הכולל את המחלקות One, Two, Three, Four:
- Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-One
- Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-Two
- One יורשת מ-Three, Four יורשת מ-Two, Three יורשת מ-Two
- One יורשת מ-Three, Three יורשת מ-Two, Four יורשת מ-One
- One יורשת מ-Three, Two יורשת מ-One, Four יורשת מ-One עבור כל אחת מהאפשרויות 1-5 ציירו עץ ירושה וכתבו אם הפעולה main תהיה תקינה או תתרחש שגיאת הידור (קומפילציה) או שגיאת זמן ריצה. הסבירו את תשובתכם.
סעיף ב
(אין קשר לסעיף א'). נתונות שלוש המחלקות הבאות: Point (מתארת נקודה על ציר ה-X), Circle (מעגל עם מרכז על ציר ה-X, יורשת מ-Point), Cylinder (גליל, יורשת מ-Circle) — ראו את קוד המחלקות למעלה. נתונה הפעולה main הבאה: Circle b = new Circle (1, 2); System.out.println(b); Cylinder c = new Cylinder (10, 20, 30); System.out.println(c); השלימו את הפעולות החסרות במחלקות Cylinder ו-Circle כך שפלט הפעולה main יהיה: x = 1, radius = 2 x = 10, radius = 20, height = 30
public Circle(int x, int radius) / public String toString() — public Cylinder(int x, int radius, int height)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.