לפניכם המחלקות E, F, G, H:
public class E {
protected int x;
public E(){
this.x = 5;
Console.WriteLine("E x = " + this.x);
}
public E(int x) {
this.x = x;
}
public int Calc() {
return this.x;
}
}
public class F: E {
private static int count = 0;
public F(): base(8){
count++;
}
public F(int x): base(x) {
count++;
Console.WriteLine("F count = " + count);
}
public int Calc() {
return this.x + 10;
}
}
public class G: F {
public G(): base(3) {
this.x = this.x * 2;
Console.WriteLine("G x = " + this.x);
}
public int Calc() {
return base.Calc() + 1;
}
public int Squre() {
return this.x*this.x;
}
}
public class H: E {
public H(): base(){
this.x = this.x + 5;
Console.WriteLine ("H x = " + this.x);
}
public int Calc() {
return this.x/2;
}
}
נתונה המחלקה Tester:
public class Tester
{
public static void Main(string[] args)
{
E e1 = new E();
E e2 = new F();
F f1 = new G();
E e3 = new H();
E a = new G();
E b = new H();
F c = new G();
// ***
}
}
הציגו את העצמים שנוצרו בפעולה Main (סוג העצם, סוג ההפניה וערכי התכונות), וכתבו את הפלט של הפעולה.
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה: 1. F f = new E();
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה: 2. G g = new F();
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה: 3. F f2 = (F)a;
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה: 4. G g2 = (G)c;
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה: 5. F f3 = (F)b;
הציבו פקודה זו בפעולה Main במקום המצוין לעיל ב-// ***. כתבו במחברת האם הקוד המתקבל תקין או לא תקין. אם הקוד תקין – כתבו את הפלט. אם הקוד אינו תקין, הסבירו מדוע. שימו לב: אין קשר בין הפקודות; כל פקודה מוצבת בנפרד תוך שהמצב מ-א (e1,e2,f1,e3,a,b,c) נשמר. הפקודה:
6. Console.WriteLine(((G)a).Squre());
7. Console.WriteLine(a.Squre());
8. Console.WriteLine(((H)b).Calc());
9. Console.WriteLine(((G)b).Squre());
10. Console.WriteLine(f1.Squre());
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.