אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2021 · קיץ מועד א · שאלה 5כל שאלות המבחן ←
תכנות מונחה עצמים›פולימורפיזם ומחלקות מופשטות

csharp

class A{ public virtual void F() { Console.WriteLine("A.F"); } public virtual void G() { F(); } } public class B : A{ public override void F(){ Console.WriteLine("B.F"); } public override void G() { Console.WriteLine("B.G"); } public void SuperG() { base.G(); } }

סעיף א

נתון קטע הקוד הבא: A a = new A(); B b = new B(); A ab = new B(); a.F(); ab.F(); b.F(); a.G(); ab.G(); b.G(); ((B)(ab)).SuperG(); b.SuperG(); עקבו אחרי ביצוע קטע הקוד ורשמו מה יהיה הפלט.

סעיף ב

האם אפשר להוסיף לקטע הקוד את שתי הפקודות הבאות? a.SuperG(); ((B)a).SuperG(); הסבירו את תשובתכם.

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

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

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

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