סמנו את כל הטענות הנכונות:
א. אם מחלקה מוגדרת כ-final אז היא לא ניתנת להרחבה
ב. על אובייקט של כל מחלקה ב-Java, בין אם זו מחלקה שקיימת ב-Java בין אם זו מחלקה שבנינו, ניתן להפעיל מתודות clone, getClass, toString, equals
ג. נתון כי B class מרחיב A class. ב-A יש מתודה public void f(). אם נגדיר ב-B מתודה public void f(int x), זה ייחשב ל-overriding של f.
ד. במחלקה A יש מתודה public void f(). אם נוסיף ל-A מתודה public int f(), זה ייחשב ל-overloading של f.
ה. אף אחת מהטענות הנ"ל אינה נכונה
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מחלקותירושהOverridingOverloadingfinal
נתון קוד הבא
עידו אומר ששורה 1 לא מתקמפלת בגלל של- f() אין מימוש ב-abstract class. יונתן אומר שהקוד תקין, כלומר, מתקמפל ורץ ללא שגיאות.
מי מהסטודנטים צודק?
א. עידו
ב. יונתן
ג. לא ניתן להכריע
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותפולימורפיזםירושהcastingOverridingמעקב אחר קוד
נתון קוד הבא:
מה יקרה כאשר נקמפל ונריץ את הקוד?
בחרו בטענה הנכונה ביותר.
א. נקבל שגיאת קומפילציה או שגיאת זמן ריצה
ב. הקוד תקין ומדפיס 1
ג. הקוד תקין ומדפיס 2
ד. הקוד תקין ומדפיס 3
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מעקב אחר קודפולימורפיזםOverridingOverloadingירושהממשקיםcastingגנריות
עידו מתלבט בין שני מימושים של מתודה equals במחלקה A שהוא בונה.
מימוש א:
מימוש ב:
עזרו לעידו לבחור את מימוש הנכון ביותר.
א. מימוש א
ב. מימוש ב
ג. שני מימושים לא נכונים, קיים מימוש נכון יותר עבור המתודה equals
ד. שני המימושים שקולים ונכונים באותה מידה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקותאובייקטיםOverridingcastingמעקב אחר קוד
עידו כתב קוד הבא:
נתון כי הקוד תקין ומדפיס "A". עידו הראה את הקוד ליונתן אבל הסתיר חלק מהחתימה של func.
הוא ביקש מיונתן להכריע האם על func מופעל binding dynamic או binding static.
יונתן ביקש מעידו לשנות את קוד הפרויקט אבל הקוד של המחלקה A נשאר ללא שינוי. לאחר מכן יונתן ביקש לדעת מה הפלט של התוכנית.
בחרו בטענה הנכונה ביותר:
א. קיים שינוי לקוד של עידו שיאפשר ליונתן להכריע גם מבלי לראות את החלק המוסתר.
ב. לא קיים שינוי כזה. יונתן חייב לראות את החלק המוסתר כדי להכריע.
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
ירושהפולימורפיזםOverridingstaticמעקב אחר קוד
מה יקרה אם לא נשתמש ב-casting explicit ב-Java?
סמנו את כל הטענות הנכונות.
א. לא נוכל להשתמש בפולימורפיזם
ב. לא נוכל להשתמש בהורשה
ג. לא נוכל להשתמש במתודות סטטיות
ד. לא נוכל להשתמש ב-dynamic binding
ה. אף אחת מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
castingפולימורפיזםירושהstaticOverriding
נתון קוד הבא
סמנו את הטענה הנכונה ביותר
א. הקוד אינו מתקמפל
ב. הקוד מתקמפל אך נקבל שגיאת זמן ריצה
ג. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) 3 2 3 2
ד. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) 2 3 2
ה. אף מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מעקב אחר קודחריגותירושהOverriding
רוני בנה פרויקט הבא:
הפרויקט של רוני תקין, כלומר מתקמפל ורץ ללא שגיאות.
ניתאי, חבר של רוני, טוען שהעיצוב של הפרויקט אינו נכון. ניתאי מציע לשנות את העיצוב באופן הבא:
מי מהסטודנטים צודק?
רוני ניתאי
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
ירושהממשקיםמחלקותOverriding
תזכורת - מתודה clone() ב-Object class מוגדרת באופן הבא:
נתונה הגדרה של מחלקה A:
נתון ש-A תקינה והמימוש של clone() ב-A הוא מימוש נכון עבור מחלקה זו.
סמנו את כל הטענות הנכונות.
א. ייתכן וכל השדות ב-A הם שדות פרימיטיביים
ב. ייתכן ו-A מכילה שדה מסוג String
ג. אם A מכילה שדות מסוג reference, אז הם בהכרח מפנים לאובייקטים מסוג immutable
ד. אם A מכילה שדות מסוג reference, אז הם בהכרח מפנים לאובייקטים מסוג wrappers, כלומר Integer, Double, Character, ועוד.
ה. אף טענה מהטענות הנ"ל אינה נכונה
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מחלקותאובייקטיםירושהממשקיםOverriding
נתון קוד הבא:
איך עלינו להשלים את החלקים המוסתרים כדי שהקוד ידפיס A?
סמנו את כל האפשרויות הנכונות:
א.
ב.
ג.
ד.
ה. לא משנה איך נשלים את החלקים המוסתרים, בכל מקרה הקוד ידפיס B
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
staticcastingפולימורפיזםירושהOverridingמעקב אחר קוד