סעיף א' (10 נק'): נתון main עם ארבע השמות/הטלות בין ארבע מחלקות One/Two/Three/Four; לכל אחת מחמש אפשרויות עץ-ירושה מועמדות יש לקבוע אם main תקינה, נכשלת בהידור, או נכשלת בזמן ריצה. סעיף ב' (6 נק', ללא קשר לסעיף א'): היררכיית Point<-Circle<-Cylinder עם שרשרת toString/ToString — יש להשלים בונים ודריסות כך שהפלט יהיה 'x = 1, radius = 2' ו-'x = 10, radius = 20, height = 30'.
סעיף א' (10 נק'): נתון main עם ארבע השמות/הטלות בין ארבע מחלקות One/Two/Three/Four; לכל אחת מחמש אפשרויות עץ-ירושה מועמדות יש לקבוע אם main תקינה, נכשלת בהידור, או נכשלת בזמן ריצה. סעיף ב' (6 נק', ללא קשר לסעיף א'): היררכיית Point<-Circle<-Cylinder עם שרשרת toString/ToString — יש להשלים בונים ודריסות כך שהפלט יהיה 'x = 1, radius = 2' ו-'x = 10, radius = 20, height = 30'.
קטע הקוד מ-main (סעיף א') — זהה משמעותית בשתי השפות (Java: main, String[]; C#: Main, string[]).
Three x1 = new One();
Two x2 = (Two)(new One());
Two x3 = new Four();
One x4 = new Four();
נתונה הפעולה Main במחלקה Driver (ראו את קטע הקוד למעלה). נתונות חמש האפשרויות לעץ הירושה הכולל את המחלקות One, Two, Three, Four: 6. Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-One 7. Three יורשת מ-One, Two יורשת מ-One, Four יורשת מ-Two 8. One יורשת מ-Three, Four יורשת מ-Two, Three יורשת מ-Two 9. One יורשת מ-Three, Three יורשת מ-Two, Four יורשת מ-One 10. One יורשת מ-Three, Two יורשת מ-One, Four יורשת מ-One עבור כל אחת מהאפשרויות ציירו עץ ירושה וכתבו אם הפעולה Main תהיה תקינה או תתרחש שגיאת הידור (קומפילציה) או שגיאת זמן ריצה. הסבירו את תשובתכם.
(אין קשר לסעיף א'). נתונות שלוש המחלקות הבאות: Point (מתארת נקודה על ציר ה-X), Circle (מעגל עם מרכז על ציר ה-X, יורשת מ-Point), Cylinder (גליל, יורשת מ-Circle) — ראו את קוד המחלקות למעלה. נתונה הפעולה Main הבאה: Circle b = new Circle (1, 2); Console.WriteLine(b); Cylinder c = new Cylinder (10, 20, 30); Console.WriteLine(c); השלימו את הפעולות החסרות במחלקות Cylinder ו-Circle כך שפלט הפעולה Main יהיה: x = 1, radius = 2 x = 10, radius = 20, height = 30
public Circle(int x, int radius) : base(...) — public override string ToString() — public Cylinder(int x, int radius, int height) : base(...)
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.