נתונות המחלקות First, Second (יורשת מ-First), Third, ומחלקת Driver עם הפעולה main שלפניך.
נתונות המחלקות First, Second (יורשת מ-First), Third, ומחלקת Driver עם הפעולה main שלפניך.
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. יש לסמן ירושה באמצעות חץ בעל ראש-חץ משולש-חלול, והרכבה (has-a) באמצעות סימון יהלום, כולל ריבוי היחס.
סעיף ב
עקוב אחר ביצוע הפעולה main של המחלקה Driver: (1) הצג את התוכן (השדות) של כל העצמים שנוצרו. (2) רשום את הפלט שיודפס.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.