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

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

public interface IOne {
    public boolean firstA(Object x);
    public void firstB(int num);
}

public interface ITwo {
    public int second();
}

public interface IThree {
    public int third();
}

public interface IFour {
    public int fourth();
}

public class Alpha implements IOne {}
public class Beta implements ITwo, IFour {}
public class Gamma implements ITwo, IThree {}
public class Program {
    public static void main(String[] args) {}
}
סעיף א

כתוב את שמות הפעולות שיש לממש בכל אחת מן המחלקות 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.

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

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

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

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