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

public class One {
    protected int n1;
    public One ()
    {
        this.n1 = 1;
    }
    public One (int val)
    {
        this.n1 = val;
    }
    public void update(int k)
    {
        this.n1 = this.n1 * k;
    }
    public String toString()
    {
        return "One: n1=" + this.n1;
    }
}

public class Two extends One {
    protected int n2;
    public Two(int val)
    {
        this.n2 = val;
    }
    public Two (int val1,int val2)
    {
        super(val1);
        this.n2 = val2;
    }
    public void update(int k)
    {
        super.update(k);
        this.n2 = this.n2 * k;
    }
    public String toString()
    {
        return super.toString() + " Two: n2=" + this.n2;
    }
}
(א)נתונה גם המחלקה Test:

```java
public class Test {
public static void main(String[] args){
One[] arr = new One [6];
arr [0] = new One (2);
arr [1] = new Two(4);
arr [2] = new Two(3, 6);
arr [3] = arr [0];
arr [4] = new Two(4);
arr [5] = arr[1];

for (int i = 0; i < arr.length; i++)
System.out.println(arr[i]);

(*) for(int i=0;i< arr.length;i++)
arr [i].update(i+3);

(**) for (int i = 0; i < arr.length; i++)
System.out.println(arr[i]);
}
}
```

עקבו אחרי ביצוע פעולה הראשית (main) של המחלקה Test, ורשמו מה יהיה הפלט של הפעולה הראשית. חובה להציג עבור כל עצם שנוצר בפעולה את ערכי התכונות שלו.
(ב)שתי הלולאות (*) ו-(**) הוחלפו ללולאה הבאה:

```java
for(int i=0;i< arr.length;i++) {
arr [i].update(i+3);
System.out.println(arr[i]);
}
```

האם פלט של הפעולה הראשית השתנה? הסבירו את תשובתכם.

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

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

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

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

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

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

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