טוען...
טוען...
נתונות המחלקות A, B, C, D:
java1public class A {
2 protected int i;
3 public A (int i) { this.i = i; }
4}
5--------------------------------------------------------------------------------------------------------
6public class B extends A {
7 public B (int i) { super (i + 1); }
8 public boolean foo (Object myObject) {
9 System.out.println ("foo1");
10 return ((myObject instanceof B) && (this.i == ((B)myObject).i));
11 }
12 public boolean foo (B myB, int num) {
13 System.out.println ("foo2");
14 return (this.i + myB.i) < num;
15 }
16}
17--------------------------------------------------------------------------------------------------------
18public class C extends B {
19 public C (int i) { super (i); }
20 public boolean foo (int num) {
21 System.out.println ("foo3");
22 return (this.i != num);
23 }
24}
25--------------------------------------------------------------------------------------------------------
26public class D extends B {
27 public D (int i) { super (i * 2); }
28 public boolean foo (B myB, int num) {
29 System.out.println ("foo4");
30 return super.foo (myB, 20);
31 }
32}
סרטטו את תרשים ההייררכייה של המחלקות A, B, C, D. יש לסמן ירושה באמצעות החץ:
נתונה המחלקה Tester:
java1public class Tester {
2 public static void main (String[] args) {
3 A a = new A (1);
4 B b = new B (2);
5 C c = new C (3);
6 D d = new D (4);
7 B bd = new D (5);
8 A ac = new C (6);
9 //***
10 }
11}
סרטטו את העצמים שנוצרו בפעולה main.
במקום המסומן ב־*** נוסף קטע הקוד התקין שלפניכם:
java1System.out.println (c.foo(5)); //(1)
2System.out.println (d.foo(a)); //(2)
3System.out.println (bd.foo(b)); //(3)
4System.out.println (bd.foo(b, 1)); //(4)
5System.out.println (((C)ac).foo(c)); //(5)
כתבו את הפלט של הפעולה (כתבו את מספר השורה המשויך לכל פלט).
נתונות המחלקות A, B, C, D:
java1public class A {
2 protected int i;
3 public A (int i) { this.i = i; }
4}
5--------------------------------------------------------------------------------------------------------
6public class B extends A {
7 public B (int i) { super (i + 1); }
8 public boolean foo (Object myObject) {
9 System.out.println ("foo1");
10 return ((myObject instanceof B) && (this.i == ((B)myObject).i));
11 }
12 public boolean foo (B myB, int num) {
13 System.out.println ("foo2");
14 return (this.i + myB.i) < num;
15 }
16}
17--------------------------------------------------------------------------------------------------------
18public class C extends B {
19 public C (int i) { super (i); }
20 public boolean foo (int num) {
21 System.out.println ("foo3");
22 return (this.i != num);
23 }
24}
25--------------------------------------------------------------------------------------------------------
26public class D extends B {
27 public D (int i) { super (i * 2); }
28 public boolean foo (B myB, int num) {
29 System.out.println ("foo4");
30 return super.foo (myB, 20);
31 }
32}
סרטטו את תרשים ההייררכייה של המחלקות A, B, C, D. יש לסמן ירושה באמצעות החץ:
נתונה המחלקה Tester:
java1public class Tester {
2 public static void main (String[] args) {
3 A a = new A (1);
4 B b = new B (2);
5 C c = new C (3);
6 D d = new D (4);
7 B bd = new D (5);
8 A ac = new C (6);
9 //***
10 }
11}
סרטטו את העצמים שנוצרו בפעולה main.
במקום המסומן ב־*** נוסף קטע הקוד התקין שלפניכם:
java1System.out.println (c.foo(5)); //(1)
2System.out.println (d.foo(a)); //(2)
3System.out.println (bd.foo(b)); //(3)
4System.out.println (bd.foo(b, 1)); //(4)
5System.out.println (((C)ac).foo(c)); //(5)
כתבו את הפלט של הפעולה (כתבו את מספר השורה המשויך לכל פלט).