טוען...
טוען...
נתונות המחלקות: Driver, First, Second, Third.
public class First {
public static int count = 0;
private String str;
public First (String str) {
count++;
this.str = str;
}
public First (First g) {
count++;
this.str = "Copy" + g.str;
}
public void setStr (String str) {
this.str = str;
}
public void print () {
System.out.println ("First" + this.str);
}
}
public class Second extends First {
private First f;
public Second (First fx, First fy) {
super (fx);
this.f = fy;
}
public void setStr (String str) {
super.setStr (str);
this.f = new First (str);
}
public void print () {
System.out.println ("Second");
super.print ();
this.f.print ();
}
}
public class Third {
private int curr;
private First[] arr;
public Third (int count) {
curr = 0;
arr = new First [count];
}
public void print () {
for (int i = 0; i < curr; i++)
arr [i].print ();
}
public void add (First s) {
if (curr < arr.length) {
arr [curr] = s;
curr++;
}
}
}
public class Driver {
public static void main (String[] args) {
First f1 = new First ("One");
First f2 = new First ("Two");
First f3 = new First (f2);
Second s1 = new Second (f1, f3);
Third t = new Third (First.count);
t.add (f1);
t.add (f2);
t.add (s1);
System.out.println (First.count);
t.print ();
System.out.println (" ----------");
f1.setStr ("Five");
System.out.println (First.count);
t.print ();
}
}צייר תרשים היררכיה בין המחלקות First, Second, Third.
עקוב אחר ביצוע הפעולה main של המחלקה Driver:
(1) הצג את התוכן של כל העצמים שנוצרו.
(2) רשום את הפלט שהתקבל.
נתונות המחלקות: Driver, First, Second, Third.
public class First {
public static int count = 0;
private String str;
public First (String str) {
count++;
this.str = str;
}
public First (First g) {
count++;
this.str = "Copy" + g.str;
}
public void setStr (String str) {
this.str = str;
}
public void print () {
System.out.println ("First" + this.str);
}
}
public class Second extends First {
private First f;
public Second (First fx, First fy) {
super (fx);
this.f = fy;
}
public void setStr (String str) {
super.setStr (str);
this.f = new First (str);
}
public void print () {
System.out.println ("Second");
super.print ();
this.f.print ();
}
}
public class Third {
private int curr;
private First[] arr;
public Third (int count) {
curr = 0;
arr = new First [count];
}
public void print () {
for (int i = 0; i < curr; i++)
arr [i].print ();
}
public void add (First s) {
if (curr < arr.length) {
arr [curr] = s;
curr++;
}
}
}
public class Driver {
public static void main (String[] args) {
First f1 = new First ("One");
First f2 = new First ("Two");
First f3 = new First (f2);
Second s1 = new Second (f1, f3);
Third t = new Third (First.count);
t.add (f1);
t.add (f2);
t.add (s1);
System.out.println (First.count);
t.print ();
System.out.println (" ----------");
f1.setStr ("Five");
System.out.println (First.count);
t.print ();
}
}צייר תרשים היררכיה בין המחלקות First, Second, Third.
עקוב אחר ביצוע הפעולה main של המחלקה Driver:
(1) הצג את התוכן של כל העצמים שנוצרו.
(2) רשום את הפלט שהתקבל.