טוען...
טוען...
לפניכם המחלקות A, B, C, D (ראו קוד) והמחלקה Tester:
java1public class Tester {
2 public static void main(String[] args) {
3 A y1 = new A();
4 A y2 = new A();
5 y1.foo(y1.getNum());
6 System.out.println(y1.isEqual(y2));
7 B y3 = new B();
8 A y4 = new B();
9 System.out.println(y3.isEqual(y4));
10 System.out.println(y4.isEqual(y3));
11 B y5 = y3;
12 y5.setNum(0);
13 System.out.println(y3.isEqual(y5));
14 C y6 = new C();
15 System.out.println(((B)y4).isEqual(y6));
16 D d1 = new D(y4);
17 D d2 = new D(y6);
18 System.out.println(B.count);
19 d1.func();
20 d2.func();
21 d1.isB();
22 d2.isB();
23 }
24}
public class A {
public static int count = 0;
protected int num;
public A() {
this.num = 3;
count++;
}
public int getNum() {
return this.num;
}
public void setNum(int num) {
this.num = num;
}
public void foo(int num) {
this.num = num;
num++;
}
public boolean isEqual(A other) {
return (this.num == other.num);
}
public void func() {
System.out.println("I am A");
}
}
public class B extends A {
public void func() {
System.out.println("I am B");
}
public boolean isEqual(B other) {
return (this == other);
}
}
public class C extends A { }
public class D {
private A a;
public D(A a) {
this.a = a;
}
public void func() {
(this.a).func();
}
public void isB() {
System.out.println((this.a) instanceof B);
}
}צייר מפת הייררכייה בין המחלקות A, B, C, D.
צייר את העצמים שנוצרו בפעולה main במחלקה Tester שלפניך.
כתוב את הפלט של הפעולה main במחלקה Tester שלפניך.
לפניכם המחלקות A, B, C, D (ראו קוד) והמחלקה Tester:
java1public class Tester {
2 public static void main(String[] args) {
3 A y1 = new A();
4 A y2 = new A();
5 y1.foo(y1.getNum());
6 System.out.println(y1.isEqual(y2));
7 B y3 = new B();
8 A y4 = new B();
9 System.out.println(y3.isEqual(y4));
10 System.out.println(y4.isEqual(y3));
11 B y5 = y3;
12 y5.setNum(0);
13 System.out.println(y3.isEqual(y5));
14 C y6 = new C();
15 System.out.println(((B)y4).isEqual(y6));
16 D d1 = new D(y4);
17 D d2 = new D(y6);
18 System.out.println(B.count);
19 d1.func();
20 d2.func();
21 d1.isB();
22 d2.isB();
23 }
24}
public class A {
public static int count = 0;
protected int num;
public A() {
this.num = 3;
count++;
}
public int getNum() {
return this.num;
}
public void setNum(int num) {
this.num = num;
}
public void foo(int num) {
this.num = num;
num++;
}
public boolean isEqual(A other) {
return (this.num == other.num);
}
public void func() {
System.out.println("I am A");
}
}
public class B extends A {
public void func() {
System.out.println("I am B");
}
public boolean isEqual(B other) {
return (this == other);
}
}
public class C extends A { }
public class D {
private A a;
public D(A a) {
this.a = a;
}
public void func() {
(this.a).func();
}
public void isB() {
System.out.println((this.a) instanceof B);
}
}צייר מפת הייררכייה בין המחלקות A, B, C, D.
צייר את העצמים שנוצרו בפעולה main במחלקה Tester שלפניך.
כתוב את הפלט של הפעולה main במחלקה Tester שלפניך.