אתם מתרגלים שאלה מתוך בגרות מדעי המחשב — מבני נתונים (שאלון 899271)מבחן 2025 · קיץ מועד א · שאלה 11כל שאלות המבחן ←
תכנות מונחה עצמיםירושה

המחלקה 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

שאלות ותגובות על השאלה

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

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

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