נתונות 2 המחלקות הבאות:

public class AA{
    public AA(){
        System.out.println("AA constructor");
    }
    public void one() {
        System.out.println("one in AA");
    }
    public void two() {
        one();
    }
}
public class BB extends AA{
    public BB(){
        System.out.println("BB constructor");
    }
    public void one(){
        System.out.println("one in BB");
    }
    public void two() {
        System.out.println("two in BB");
    }
    public void three() {
        super.two();
    }
}
(א)נתון קטע הקוד הבא (מספרי שורות אינם חלק מהקוד):
```java
(1) AA a = new AA();
(2) BB b = new BB();
(3) AA ab = new BB();
(4) a.one();
(5) ab.one();
(6) b.one();
(7) a.two();
(8) ab.two();
(9) b.two();
(10) ((BB)(ab)).three();
(11) b.three();
```

1. עקבו אחרי ביצוע קטע הקוד ורשמו מה יהיה הפלט.
2. האם אפשר להוסיף לקטע הקוד את 2 הפקודות הבאות? הסבירו את תשובתכם:
```java
a.three();
((BB)a).three();
```
(ב)כתבו פעולה המקבלת מערך הפניות לעצמים מסוג Object. הפעולה תדפיס כמה עצמים הם מסוג BB, כמה עצמים הם מסוג AA ולא סוג BB, וכמה עצמים הם לא מסוג AA.

🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה בטיחות

שאלו כאן — ותקבלו מענה מוסמך.

🎓 מרצה בטיחות מוסמך עונה כאן — תקבלו מענה מקצועי

רוצים לתרגל אלפי שאלות נוספות?

המשיכו לתרגול מלא עם משוב אישי ←

מבחני מה"ט אמיתיים · משוב מיידי · וידאו לכל נושא · מעקב התקדמות

המשיכו לתרגול מלא ←