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

java

public class A { protected void a1() { System.out.println("Hello A"); } protected void a2() { a1(); } }

public class B extends A { protected void a1() { System.out.println("Bye B"); } }

סעיף א

נתון קטע קוד שרץ ללא שגיאות: A x = new B(t, s); h.g(n, d); עבור כל אחד מההיגדים 1-6 ציינו האם הוא נכון או אינו נכון. הסבירו את תשובתכם.

  1. הפעולה g חייבת להיות ציבורית (public).
  2. t הוא בהכרח משתנה מטיפוס פשוט (כמו: int, double וכד').
  3. h הוא בהכרח אובייקט.
  4. d יכול להיות שם של פעולה.
  5. B היא בהכרח מחלקה שיורשת מ-A (גם אם לא ישירות).
  6. ייתכן ש-A היא מחלקה שיורשת מ-B.
סעיף ב

(אין קשר לסעיף א') נתונה המחלקה A הבאה (a1 מדפיסה "Hello A"; a2 קוראת ל-a1). בקובץ נפרד, הגדירו מחלקה נוספת B שיורשת מהמחלקה A. במחלקה B ביצעו דריסה לפעולה a1 והיא מדפיסה "Bye B". מה יקרה אם נפעיל על אובייקט מסוג B את הפעולה a2?

  1. הפלט יהיה: Hello A
  2. הפלט יהיה: Bye B
  3. הפלט יהיה: Hello A / Bye B
  4. הפלט יהיה: Bye B / Hello A
שאלות ותגובות על השאלה

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

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

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