לשאלה זו שני נוסחים: בשפת Java בעמודים 24-25 ובשפת C# בעמודים 26-27. לפניכם המחלקות A, B, C:
לשאלה זו שני נוסחים: בשפת Java בעמודים 24-25 ובשפת C# בעמודים 26-27. לפניכם המחלקות A, B, C:
סעיף א - לפניכם קטע קוד ללא שגיאות:
הציגו את העצמים שנוצרו (סוג העצם, סוג ההפניה, וערך התכונה num).
סעיף ב - לפניכם המשך קטע הקוד (ממוספר), שרץ ללא שגיאות. ציינו את מספר שורת ההדפסה, וכתבו מה הקוד מדפיס:
(ב-C# אותו קוד בדיוק עם Console.WriteLine ו-Func באות גדולה.)
public class A {
public int num;
public A()
{
this.num = 1;
}
public A (int num)
{
this.num = num;
}
public int Func (int val)
{
return val * 2;
}
public virtual int Func (B other)
{
return this.num - other.num;
}
}
public class B : A {
public B() : base (2) { }
public B(int val) : base (val)
{
this.num = this.num + Func (val);
}
public int Func (A other)
{
return this.num + (other.num * 10);
}
public override int Func (B other)
{
return this.num + other.num;
}
}
public class C : B {
public C (int val)
{
this.num = this.num - val;
}
public override int Func (B other)
{
return this.num * other.num;
}
public int Func (C c)
{
return this.num * 4;
}
}
סעיף א
לפניכם קטע קוד ללא שגיאות: A a = new A(); A ab = new B(); A ac = new C(0); B b = new B(1); B bc = new C(1); C c = new C(1); הציגו את העצמים שנוצרו (סוג העצם, סוג ההפניה, וערך התכונה num).
סעיף ב
לפניכם המשך קטע הקוד (ממוספר) שרץ ללא שגיאות. ציינו את מספר שורת ההדפסה, וכתבו מה הקוד מדפיס.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.