טוען...
טוען...
לפניכם כותרות המחלקות BB, CC והתכונות שלהן:
java1public class BB
2{
3 private int a;
4 protected int b;
5 ****
6}
7
8public class CC extends BB
9{
10 private int c;
11 ****
12}
⚠ הערה — אילוץ מחייב
שימו לב – לשתי המחלקות אין פעולות
getו־set.
לפניכם המחלקה Tester הכוללת פעולה ראשית:
java1public class Tester{
2 public static void main(String[] args)
3 {
4 BB [] b = new BB[8];
5 b[0] = new BB();
6 b[1] = new BB(16);
7 b[2] = new BB(b[0]);
8 b[3] = new BB(b[1]);
9 b[4] = new CC(9);
10 b[5] = new CC(5);
11 b[6] = new CC(b[0]);
12 b[7] = new CC(b[1]);
13 }
14}
לפניכם תרשים עצמים שנוצרו בעקבות הרצת קטע הקוד.
כתבו במחלקות BB ו־CC את הפעולות הבונות הנדרשות כדי לקבל את העצמים שבתרשים.
ציינו בעבור כל אחד מן העצמים שבתרשים את הפעולה הבונה על פיה הוא נוצר.
⚠ הערה — אילוץ מחייב
אין להוסיף פעולות שאינן בונות במחלקות
BBו־CC. פתרון הכולל פעולות שאינן בונות לא יזוכה בנקודות.
נתון קטע קוד תקין והפלט שהתקבל בעקבות הרצתו. כמו כן, נתון קטע קוד עבורו התקבלה שגיאת הידור (קומפילציה).
ממשו את הפעולות goo ו־foo במחלקות המתאימות (BB ו־CC) על פי עקרונות תכנות מונחה עצמים, כך שיתקבל הפלט שלפניכם (יש לממש במחלקות רק את הפעולות הנחוצות כדי שהקוד ירוץ).
קטע קוד תקין:
java1b[0].foo(0); //1
2b[0].foo(3); //2
3((CC)b[4]).foo(); //3
4((CC)b[6]).foo(); //4
5((CC)b[5]).goo(); //5
6((CC)b[7]).goo(); //6
הפלט שהתקבל עבור הרצתו:
BB foo: 11 //1
BB foo: 14 //2
CC foo: 7 //3
BB foo: 26
CC foo: 19 //4
BB foo: 30
CC goo //5
CC goo //6כמו כן, שתי הפעולות בקטע הקוד שלפניכם אינן תקינות ומתקבלת שגיאת הידור (קומפילציה).
java1b[3].foo();
2b[2].goo();
לפניכם כותרות המחלקות BB, CC והתכונות שלהן:
java1public class BB
2{
3 private int a;
4 protected int b;
5 ****
6}
7
8public class CC extends BB
9{
10 private int c;
11 ****
12}
⚠ הערה — אילוץ מחייב
שימו לב – לשתי המחלקות אין פעולות
getו־set.
לפניכם המחלקה Tester הכוללת פעולה ראשית:
java1public class Tester{
2 public static void main(String[] args)
3 {
4 BB [] b = new BB[8];
5 b[0] = new BB();
6 b[1] = new BB(16);
7 b[2] = new BB(b[0]);
8 b[3] = new BB(b[1]);
9 b[4] = new CC(9);
10 b[5] = new CC(5);
11 b[6] = new CC(b[0]);
12 b[7] = new CC(b[1]);
13 }
14}
לפניכם תרשים עצמים שנוצרו בעקבות הרצת קטע הקוד.
כתבו במחלקות BB ו־CC את הפעולות הבונות הנדרשות כדי לקבל את העצמים שבתרשים.
ציינו בעבור כל אחד מן העצמים שבתרשים את הפעולה הבונה על פיה הוא נוצר.
⚠ הערה — אילוץ מחייב
אין להוסיף פעולות שאינן בונות במחלקות
BBו־CC. פתרון הכולל פעולות שאינן בונות לא יזוכה בנקודות.
נתון קטע קוד תקין והפלט שהתקבל בעקבות הרצתו. כמו כן, נתון קטע קוד עבורו התקבלה שגיאת הידור (קומפילציה).
ממשו את הפעולות goo ו־foo במחלקות המתאימות (BB ו־CC) על פי עקרונות תכנות מונחה עצמים, כך שיתקבל הפלט שלפניכם (יש לממש במחלקות רק את הפעולות הנחוצות כדי שהקוד ירוץ).
קטע קוד תקין:
java1b[0].foo(0); //1
2b[0].foo(3); //2
3((CC)b[4]).foo(); //3
4((CC)b[6]).foo(); //4
5((CC)b[5]).goo(); //5
6((CC)b[7]).goo(); //6
הפלט שהתקבל עבור הרצתו:
BB foo: 11 //1
BB foo: 14 //2
CC foo: 7 //3
BB foo: 26
CC foo: 19 //4
BB foo: 30
CC goo //5
CC goo //6כמו כן, שתי הפעולות בקטע הקוד שלפניכם אינן תקינות ומתקבלת שגיאת הידור (קומפילציה).
java1b[3].foo();
2b[2].goo();