המחלקה One כוללת שדה סטטי count (משותף לכל העצמים, גדל בכל קריאה לבנאי חסר-הפרמטרים) ושדה number פרטי; שני בנאים עמוסים - האחד מגדיל את count וקובע number=count, השני מקבל number מוכן ולא נוגע ב-count. Two יורשת מ-One ומוסיפה strTwo; Three יורשת מ-Two ומוסיפה strThree. שלושתן דורסות toString כך שכל דריסה מוסיפה משפט לזה של מחלקת-העל (super.toString() / base.ToString()).
המחלקה One כוללת שדה סטטי count (משותף לכל העצמים, גדל בכל קריאה לבנאי חסר-הפרמטרים) ושדה number פרטי; שני בנאים עמוסים - האחד מגדיל את count וקובע number=count, השני מקבל number מוכן ולא נוגע ב-count. Two יורשת מ-One ומוסיפה strTwo; Three יורשת מ-Two ומוסיפה strThree. שלושתן דורסות toString כך שכל דריסה מוסיפה משפט לזה של מחלקת-העל (super.toString() / base.ToString()).
public class One {
public static int count = 0;
private int number;
public One() {
count++;
number = count;
}
public One (int num) {
number = num;
}
public override string ToString() {
return count + ", "+ number;
}
}
--------------------------------------------
public class Two : One {
private string strTwo;
public Two() {
strTwo = "Fast";
}
public Two (string s) : base (15) {
strTwo = s;
}
public override string ToString() {
return base.ToString() + " "+strTwo;
}
}
--------------------------------------------------
public class Three : Two {
private string strThree;
public Three (string s) {
strThree = s;
}
public override String ToString() {
return base.ToString() + " "+ strThree;
}
}
// --- המחלקה Test (סעיף א) ---
public class Test
{
public static void Main (string[] args)
{
One[] arr=new One[6];
arr[0]= … // (1)
arr[1]= … // (2)
arr[2]= … // (3)
arr[3]= … // (4)
arr[4]= … // (5)
arr[5]= … // (6)
for (int i = 0; i < arr.Length; i++) {
Console.WriteLine (arr[i]);
}
}
}
עמוד 19 (Java) ועמוד 21 (C#), סעיף א: תיבת הפלט הנדרש
the printed output box (identical in the Java version, p.19, and the C# version, p.21) -- SIX lines:
4, 1 Fast
4, 2 Fast Car
4, 3 Fast Horse
4, 15 Small
4, 15 Tall
4, 4
נתונה המחלקה Test : [הקוד ב-code_context] השלימו את השורות (1)–(6) כך שהפלט יהיה: [תיבת הפלט ב-figures]
arr[0]= … // (1) ... arr[5]= … // (6)
הכותרת של המחלקה Three השתנתה לכותרת: public class Three extends One האם שינוי זה יגרום לשגיאה? אם כן – הסבירו את השגיאה, אם לא – רשמו מה יהיה הפלט של הפעולה main אחרי השינוי (השורות החסרות הן כפי שכתבתם בסעיף א). הערה: אין שינויים נוספים במחלקה.
public class Three : One
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.