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

עשרה תרחישים בלתי-תלויים (5 בכל סעיף) שבודקים את אותה הבחנה יסודית — שם+פרמטרים+טיפוס-החזרה קובעים אם משהו הוא דריסה, העמסה, או כפילות פסולה — כשההבדל בין Java ל-C# (וירטואליות אוטומטית מול virtual/override מפורשים) הופך שניים מהתרחישים (ב-4, ב-5) להתנהג אחרת בכל שפה.

public class A
{
    public int foo(int i)
    {
        return i;
    }
}
סעיף א-1

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה A: שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public int foo() { return 1; }

סעיף א-2

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה A: שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public int foo(double i){ return (int)i; }

סעיף א-3

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה A: שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public double foo(int i){ return i; }

סעיף א-4

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה A: שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public double foo(double i){ return i; }

סעיף א-5

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה A: שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public void foo(double i){ System.out.print(i); }

סעיף ב-1

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה B (היורשת מ-A): שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public int foo() { return 10; }

סעיף ב-2

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה B (היורשת מ-A): שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public int foo(int i){ return i*10; }

סעיף ב-3

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה B (היורשת מ-A): שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public double foo(int i){ return i*10; }

סעיף ב-4

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה B (היורשת מ-A): שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public double foo(double i){ return i*10; }

סעיף ב-5

עבור הפעולה הבאה קבעו מה יתרחש אם היא מתווספת למחלקה B (היורשת מ-A): שגיאת קומפילציה / שגיאת זמן ריצה / קוד תקין-דריסה (overriding) / קוד תקין-העמסה (overloading). public void foo(double i){ System.out.print(i); }

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

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

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

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