שלוש מחלקות A, B, C (B extends A, C extends B), עם מונה סטטי count המשותף לכולן ותכונה num פרטית לכל עצם. יש להשלים ביטויי יצירת עצמים כך שהפלט של מחלקת Driver יתאים לפלט הנתון, ולעקוב אחר שינויים בהיררכיית הירושה.
שלוש מחלקות A, B, C (B extends A, C extends B), עם מונה סטטי count המשותף לכולן ותכונה num פרטית לכל עצם. יש להשלים ביטויי יצירת עצמים כך שהפלט של מחלקת Driver יתאים לפלט הנתון, ולעקוב אחר שינויים בהיררכיית הירושה.
public class A {
public static int count = 0;
private int num;
public A()
{
count++;
num = count;
}
public A(int n)
{
num = n;
}
public override string ToString()
{
return count+","+ num;
}
} // end of A
public class B :A {
private string str;
public B()
{
str="GOOD";
}
public B(string s): base(10)
{
str = s;
}
public override string ToString()
{
return base.ToString()+" "+str;
}
}// end of B
public class C : B {
private string str;
public C(string s)
{
str = s;
}
public override string ToString()
{
return base.ToString()+" "+str;
}
}// end of C
מחלקת Driver עם מערך A[6] — יש להשלים את שש ההשמות (1)-(6) כך שהפלט המתקבל מלולאת ההדפסה יהיה בדיוק כפי שמופיע בשאלון. אותה מחלקת Driver משמשת גם לסעיפים ב'-ג' (רק כותרת C משתנה בין הסעיפים).
public class Driver {
public static void main(String[] args) {
A[] arr=new A[6];
arr[0]= … // (1)
arr[1]= … // (2)
arr[2]= … // (3)
arr[3]= … // (4)
arr[4]= … // (5)
arr[5]= … // (6)
for(int i=0; i<arr.length; i++)
System.out.println(arr[i]);
}
}
הפלט הנדרש (סעיף א'):
4,10 Morning
4,1
4,2 GOOD Afternoon
4,10 Evening
4,3 GOOD Night
4,4 GOOD
נתונה מחלקה Driver הבאה: public class Driver { public static void main(String[] args) { A[] arr=new A[6]; arr[0]= … // (1) arr[1]= … // (2) arr[2]= … // (3) arr[3]= … // (4) arr[4]= … // (5) arr[5]= … // (6) for(int i=0; i<arr.length; i++) System.out.println(arr[i]); } } השלימו פעולות הסרות (1)-(6) כך שהפלט יהיה: 4,10 Morning 4,1 4,2 GOOD Afternoon 4,10 Evening 4,3 GOOD Night 4,4 GOOD
כותרת המחלקה C השתנתה ל- public class C extends A האם שינוי זה יגרום לשגיאה? אם כן — הסבירו את השגיאה, אם לא — רשמו מה יהיה הפלט של ה-main אחרי השינוי.
כותרת המחלקה C השתנתה ל- public class C האם שינוי זה יגרום לשגיאה? אם כן — הסבירו את השגיאה, אם לא — רשמו מה יהיה הפלט של ה-main אחרי השינוי.
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.