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

בשאלה זו ארבעה סעיפים א-ד; אין קשר בין הסעיפים; יש לענות על כולם. נתונים ארבעה ממשקים (interfaces) IOne, ITwo, IThree, IFour, ושלוש מחלקות המממשות אותם באופנים שונים: Alpha מממשת את IOne בלבד; Beta מממשת את ITwo ו-IFour; Gamma מממשת את ITwo ו-IThree (המחלקות והממשקים מודפסים ב-code_context).

public interface IOne {
    bool FirstA(object x);
    void FirstB(int num);
}

public interface ITwo {
    int Second();
}

public interface IThree {
    int Third();
}

public interface IFour {
    int Fourth();
}

public class Alpha : IOne {}
public class Beta : ITwo, IFour {}
public class Gamma : ITwo, IThree {}
public class Program {
    public static void Main() {}
}
סעיף א

כתוב את שמות הפעולות שיש לממש בכל אחת מן המחלקות Alpha, Beta ו-Gamma, והסבר מדוע.

סעיף ב

האם ההגדרה public class Omega implements IFour extends Beta {} תקינה? אם היא אינה תקינה — הסבר מדוע.

סעיף ג

לכל אחד מן הקטעים i-iv שלפניך, קבע אם נכתוב אותו בפעולה main, הפעולה main תתקבל תקינה או אינה תקינה: i. ITwo x1 = new ITwo(); ii. Beta b = new Beta(); iii. Alpha a = new Alpha(); IOne x2 = a; iv. Gamma c = new Gamma(); IOne x3 = c;

סעיף ד

לכל אחת מן הדרישות i-ii שלפניך, קבע אם אפשר לבצע אותה באמצעות כתיבת הוראה או הוראות מתאימות, או שאי אפשר — הסבר מדוע ואם אפשר, כתוב את ההוראה או ההוראות המתאימות: i. הפעלת הפעולה second על עצם מטיפוס Beta. ii. המרת עצם מטיפוס Gamma כך שיהיה מטיפוס Alpha.

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

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

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

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