אתם מתרגלים שאלה מתוך מה"ט מבני נתונים ותכנות מונחה עצמים — הנדסאי תוכנהמבחן 2023 · אביב מועד א · שאלה 8כל שאלות המבחן ←
תכנות מונחה עצמים›פולימורפיזם ומחלקות מופשטות

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?

שאלות ותגובות על השאלה

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

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

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