java
public class One { protected int x; public One(){ this.x = 1; } public One(int x) { this.x = x; } public void f(int x) { this.x += x; } public String toString() { return "x=" + this.x; } } // end of One
public class Two extends One { public Two() { super(3); } public Two(int x) { super.f(x); f(x); } public void f(int x) { this.x -= x; super.f(x); } } // end of Two
public class Tester { public static void print(One[] arr) { for (int i=0; i < arr.length; i++) System.out.println(i+" "+arr[i]); } public static void doF(One[] arr, int num) { for (int i=0; i < arr.length; i++) arr[i].f(num); } public static void what(One[] arr) { int k=0; for (int i = 0; i < arr.length; i++) if (arr[i] instanceof Two) k++; k = arr.length - k; System.out.println("k = "+ k); } public static void main(String[] args) { One[] arr = new One[6]; arr[0]= new One(); arr[1]= new One(3); arr[2] = new Two(); arr[3] = new Two(2); arr[4] = new Two(5); arr[5] = arr[1]; print(arr); doF(arr, 2); print(arr); what(arr); } }
עקבו אחרי ביצוע הפעולה הראשית ורשמו מה יהיה הפלט של הפעולה. יש להציג את כל העצמים שנוצרו ואת השינויים בערכי התכונות שלהם במהלך הביצוע.
מה מבצעת הפעולה what?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.