לשאלה זו שני נוסחים: בשפת 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 int func (B other) {
return this.num - other.num;
}
}
public class B extends A {
public B() {
super(2);
}
public B(int val) {
super(val);
this.num = this.num + func (val);
}
public int func (A other) {
return this.num + (other.num * 10);
}
public int func (B other) {
return this.num + other.num;
}
}
public class C extends B {
public C(int val) {
this.num = this.num - val;
}
public 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).
סעיף ב
לפניכם המשך קטע הקוד (ממוספר) שרץ ללא שגיאות. ציינו את מספר שורת ההדפסה, וכתבו מה הקוד מדפיס.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.