איתי ויונתן מתכוננים למבחן בקורס תכנות מונחה עצמים. כדי להיות ערניים הם מדי פעם מכינים לעצמם קפה. איתי חושש שהם שותים יותר מדי כוסות קפה. הוא הציע ליונתן לבנות מחלקה CoffeeCup, ובכל פעם שהם יכינו לעצמם כוס קפה, הם ייצרו אובייקט של מחלקה זו.
איתי רוצה לדעת בכל רגע נתון כמה כוסות קפה הם שתו, כלומר, כמה אובייקטים מסוג CoffeeCup הם יצרו.
עזרו לאיתי לבחור את הדרך הנכונה ביותר לעיצוב המחלקה CoffeeCup.
א.
ב.
ג.
ד.
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מחלקותאובייקטיםקונסטרוקטורהסתרת מידעstaticמעקב אחר קוד
נתון קוד הבא
סמנו את הטענה הנכונה ביותר
א. הקוד אינו מתקמפל
ב. הקוד מתקמפל אך נקבל שגיאת זמן ריצה
ג. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) g::B ,f::A ,f::B
ד. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) f::A ,f::B
ה. אף מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותירושהמעקב אחר קודפולימורפיזם
נתון קוד הבא
עידו אומר ששורה 1 לא מתקמפלת בגלל של- f() אין מימוש ב-abstract class. יונתן אומר שהקוד תקין, כלומר, מתקמפל ורץ ללא שגיאות.
מי מהסטודנטים צודק?
א. עידו
ב. יונתן
ג. לא ניתן להכריע
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותפולימורפיזםירושהcastingOverridingמעקב אחר קוד
נתון קוד הבא
מה יקרה כאשר נקמפל ונריץ את הקוד?
סמנו את הטענה הנכונה ביותר.
א. נקבל שגיאת קומפילציה בגלל שורות 1 ו- 2
ב. נקבל שגיאת קומפילציה בגלל שורות 3 ו- 4
ג. הקוד מתקמפל אך נקבל שגיאת זמן ריצה
ד. הקוד תקין ומדפיס Student Bar-Ilan Professor Bar-Ilan
ה. אף אחת מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקותאובייקטיםמעקב אחר קודמחלקות פנימיות
נתון קוד הבא:
מה יקרה כאשר נקמפל ונריץ את הקוד?
בחרו בטענה הנכונה ביותר.
א. נקבל שגיאת קומפילציה או שגיאת זמן ריצה
ב. הקוד תקין ומדפיס 1
ג. הקוד תקין ומדפיס 2
ד. הקוד תקין ומדפיס 3
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מעקב אחר קודפולימורפיזםOverridingOverloadingירושהממשקיםcastingגנריות
עידו מתלבט בין שני מימושים של מתודה equals במחלקה A שהוא בונה.
מימוש א:
מימוש ב:
עזרו לעידו לבחור את מימוש הנכון ביותר.
א. מימוש א
ב. מימוש ב
ג. שני מימושים לא נכונים, קיים מימוש נכון יותר עבור המתודה equals
ד. שני המימושים שקולים ונכונים באותה מידה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקותאובייקטיםOverridingcastingמעקב אחר קוד
נתון קוד הבא:
סמן את כל הטענות הנכונות:
א. הקוד ירוץ בהצלחה ויסיר את כל מופעי "b" מהרשימה
ב. בהרצת הקוד ייזרק חריג מסוג IndexOutOfBoundsException
ג. בהרצת הקוד ייזרק חריג, אבל אם נשתמש באובייקט Iterator ונסיר מופעים של "b" בעזרת iterator.remove(), הקוד ירוץ בצורה תקינה
ד. בהרצת הקוד ייזרק חריג, אבל אם נעבור על הרשימה מהסוף להתחלה עם לולאת for ונסיר מופעים של "b" לפי אינדקס, הקוד ירוץ בצורה תקינה
ה. אף טענה מהטענות הנ"ל אינה נכונה
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
איטרטוריםחריגותמבני נתוניםמעקב אחר קוד
נתון קוד הבא
סמנו את הטענה הנכונה ביותר עבור הקוד הנתון
א. הקוד אינו מתקמפל
ב. הקוד מתקמפל אך נקבל שגיאת זמן ריצה
ג. הקוד תקין ומדפיס (משמאל לימין) B::f2, A::f1, B::f1
ד. הקוד תקין ומדפיס (משמאל לימין) B::f2, A::f1, B::f1
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
castingירושהמעקב אחר קודחריגות
עידו כתב קוד הבא:
נתון כי הקוד תקין ומדפיס "A". עידו הראה את הקוד ליונתן אבל הסתיר חלק מהחתימה של func.
הוא ביקש מיונתן להכריע האם על func מופעל binding dynamic או binding static.
יונתן ביקש מעידו לשנות את קוד הפרויקט אבל הקוד של המחלקה A נשאר ללא שינוי. לאחר מכן יונתן ביקש לדעת מה הפלט של התוכנית.
בחרו בטענה הנכונה ביותר:
א. קיים שינוי לקוד של עידו שיאפשר ליונתן להכריע גם מבלי לראות את החלק המוסתר.
ב. לא קיים שינוי כזה. יונתן חייב לראות את החלק המוסתר כדי להכריע.
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
ירושהפולימורפיזםOverridingstaticמעקב אחר קוד
משה בנה פרויקט הבא
הניחו שהקוד הנתון תקין, כלומר מתקמפל ורץ ללא שגיאות.
לטענתו של משה, הפרויקט נכון. יונתן, חבר של משה, טוען שהקוד לא הגיוני, כלומר, מכיל טעות לוגית. מי מהסטודנטים צודק?
א. משה
ב. יונתן
ג. לא ניתן להכריע
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקותאובייקטיםהסתרת מידעקונסטרוקטורמעקב אחר קוד