לפניך המחלקות A ו-B. סעיפים א-ג מתייחסים למחלקות אלה.
1public class A {
2 private int x;
3 public A() { this.x = 0; }
4 public A(int x) { this.x = x; }
5 public int getX() { return x; }
6 public void doubleX() { this.x = 2 * getX(); }
7 public void tripleX() { this.x = 3 * getX(); }
8 public void sub() { this.x = x - 1; }
9 public void calc() { sub(); }
10 public String toString() { return "xA=" + this.x; }
11}
12
13public class B extends A {
14 private int x;
15 public B() { super(); this.x = 1; }
16 public B(int x) { super(x); this.x = -x; }
17 public B(int xA, int xB) { super(xA); this.x = xB; }
18 public int getX() { return x; }
19 public int baseX() { return super.getX(); }
20 public void tenTimesX() { this.x = 10 * getX(); }
21 public void tripleX() { this.x = 3 * getX(); }
22 public void sub() { this.x = x - 2; }
23 public String toString() { return super.toString() + " xB=" + this.x + ";"; }
24}לפניך סדרת הוראות שהפלט בעבורה צריך להיות:
xA=1 xB=20; xA=1 xB=20; xA=1 xB=20; xA=1 xB=20;
בסדרת ההוראות נפלה שגיאת הידור (קומפילציה). תקן את השגיאה כדי שיתקבל הפלט הנכון.
Java:
java1A a1 = new B(1, 20); 2Object obj = a1; 3B b1 = a1; 4A a2 = a1; 5System.out.println(a1 + " " + obj + " " + a2 + " " + b1);
C#:
csharp1A a1 = new B(1, 20); 2Object obj = a1; 3B b1 = a1; 4A a2 = a1; 5Console.WriteLine(a1 + " " + obj + " " + a2 + " " + b1);
לפניך סדרת הוראות. הצג את העצמים הנוצרים, ולכל עצם הצג את ערכי התכונות שלו.
לפניך קטעים i-vi. לכל קטע קבע אם הוא תקין או שגוי (קומפילציה/זמן ריצה) וכתוב פלט אם תקין.
לפניך המחלקות A ו-B. סעיפים א-ג מתייחסים למחלקות אלה.
1public class A {
2 private int x;
3 public A() { this.x = 0; }
4 public A(int x) { this.x = x; }
5 public int getX() { return x; }
6 public void doubleX() { this.x = 2 * getX(); }
7 public void tripleX() { this.x = 3 * getX(); }
8 public void sub() { this.x = x - 1; }
9 public void calc() { sub(); }
10 public String toString() { return "xA=" + this.x; }
11}
12
13public class B extends A {
14 private int x;
15 public B() { super(); this.x = 1; }
16 public B(int x) { super(x); this.x = -x; }
17 public B(int xA, int xB) { super(xA); this.x = xB; }
18 public int getX() { return x; }
19 public int baseX() { return super.getX(); }
20 public void tenTimesX() { this.x = 10 * getX(); }
21 public void tripleX() { this.x = 3 * getX(); }
22 public void sub() { this.x = x - 2; }
23 public String toString() { return super.toString() + " xB=" + this.x + ";"; }
24}לפניך סדרת הוראות שהפלט בעבורה צריך להיות:
xA=1 xB=20; xA=1 xB=20; xA=1 xB=20; xA=1 xB=20;
בסדרת ההוראות נפלה שגיאת הידור (קומפילציה). תקן את השגיאה כדי שיתקבל הפלט הנכון.
Java:
java1A a1 = new B(1, 20); 2Object obj = a1; 3B b1 = a1; 4A a2 = a1; 5System.out.println(a1 + " " + obj + " " + a2 + " " + b1);
C#:
csharp1A a1 = new B(1, 20); 2Object obj = a1; 3B b1 = a1; 4A a2 = a1; 5Console.WriteLine(a1 + " " + obj + " " + a2 + " " + b1);
לפניך סדרת הוראות. הצג את העצמים הנוצרים, ולכל עצם הצג את ערכי התכונות שלו.
לפניך קטעים i-vi. לכל קטע קבע אם הוא תקין או שגוי (קומפילציה/זמן ריצה) וכתוב פלט אם תקין.