איתי ויונתן מתכוננים למבחן בקורס תכנות מונחה עצמים. כדי להיות ערניים הם מדי פעם מכינים לעצמם קפה. איתי חושש שהם שותים יותר מדי כוסות קפה. הוא הציע ליונתן לבנות מחלקה CoffeeCup, ובכל פעם שהם יכינו לעצמם כוס קפה, הם ייצרו אובייקט של מחלקה זו.
איתי רוצה לדעת בכל רגע נתון כמה כוסות קפה הם שתו, כלומר, כמה אובייקטים מסוג CoffeeCup הם יצרו.
עזרו לאיתי לבחור את הדרך הנכונה ביותר לעיצוב המחלקה CoffeeCup.
א.
ב.
ג.
ד.
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מחלקותאובייקטיםקונסטרוקטורהסתרת מידעstaticמעקב אחר קוד
עידו כתב קוד הבא:
נתון כי הקוד תקין ומדפיס "A". עידו הראה את הקוד ליונתן אבל הסתיר חלק מהחתימה של func.
הוא ביקש מיונתן להכריע האם על func מופעל binding dynamic או binding static.
יונתן ביקש מעידו לשנות את קוד הפרויקט אבל הקוד של המחלקה A נשאר ללא שינוי. לאחר מכן יונתן ביקש לדעת מה הפלט של התוכנית.
בחרו בטענה הנכונה ביותר:
א. קיים שינוי לקוד של עידו שיאפשר ליונתן להכריע גם מבלי לראות את החלק המוסתר.
ב. לא קיים שינוי כזה. יונתן חייב לראות את החלק המוסתר כדי להכריע.
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
ירושהפולימורפיזםOverridingstaticמעקב אחר קוד
נתונה מחלקה הבאה
רוצים להוסיף למחלקה זו מתודה func.
מטרת ההוספה של func למחלקה A אינה נתונה ואינה חשובה.
בחרו את כל המימושים התקינים עבור המתודה זו.
א.
ב.
ג.
ד.
ה. אף אחד מהמימושים הנ"ל אינו תקין
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקותאובייקטיםstaticמעקב אחר קוד
יסמין רוצה לבנות פרויקט בו מוגדרת מחלקה של Point. יסמין רוצה שכל האובייקטים מסוג Point ייווצרו ברבע החיובי של מערכת הצירים (כלומר, עם ערכים x ו-y אי שליליים). עזרו ליסמין לבחור את העיצוב הנכון ביותר עבור הפרויקט שלה.
א.
ב.
ג.
ד.
ה. אף אחד מהמימושים הנ"ל אינו נכון
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
קונסטרוקטורחריגותהסתרת מידעמחלקותאובייקטיםstatic
מה יקרה אם לא נשתמש ב-casting explicit ב-Java?
סמנו את כל הטענות הנכונות.
א. לא נוכל להשתמש בפולימורפיזם
ב. לא נוכל להשתמש בהורשה
ג. לא נוכל להשתמש במתודות סטטיות
ד. לא נוכל להשתמש ב-dynamic binding
ה. אף אחת מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
castingפולימורפיזםירושהstaticOverriding
נתון קוד הבא:
מה הפלט של התוכנית?
א. התוכנית לא מתקמפלת
ב. התוכנית מתקמפלת אך נקבל שגיאת זמן ריצה
ג. התוכנית תקינה ומדפיסה (משמאל לימין) g::B ,f::A
ד. התוכנית תקינה ומדפיסה (משמאל ימין) g::B ,f::B
ה. אף אחת מהתשובות הנ"ל אינה נכונה
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
staticירושהcastingמעקב אחר קודמחלקותאובייקטים
נתון קוד הבא:
איך עלינו להשלים את החלקים המוסתרים כדי שהקוד ידפיס A?
סמנו את כל האפשרויות הנכונות:
א.
ב.
ג.
ד.
ה. לא משנה איך נשלים את החלקים המוסתרים, בכל מקרה הקוד ידפיס B
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
staticcastingפולימורפיזםירושהOverridingמעקב אחר קוד
נתונה הגדרה של מחלקה A
הציעו את כל ההשלמות האפשריות עבור החלקים המוסתרים בהגדרה של A כך שהקוד לא יתקמפל, או הסבירו למה השלמה כזו לא קיימת. עבור כל אפשרות הסבירו מה הסיבה לשגיאת קמפול.
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותOverridingstaticהסתרת מידע
נתונה מחלקה הבאה
סמנו את כל המימושים התקינים עבור f, כלומר, כאילו שמתקמפלים ורצים ללא שגיאות.
א.
ב.
ג.
ד.
נמקו בקצרה את תשובתכם.
אוניברסיטת בר-אילןמועד א · 2025 · סמסטר א
מחלקותירושההסתרת מידעstaticמעקב אחר קוד
נתונות שתי מחלקות הבאות
בחרו בטענה הנכונה ביותר.
א. רק המחלקה A הינה singleton, והמחלקה B איננה
ב. רק המחלקה B הינה singleton, והמחלקה A איננה
ג. שתי המחלקות הינן singletons
ד. שתי המחלקות אינן singletons
נמקו בקצרה את תשובתכם.
אוניברסיטת בר-אילןמועד א · 2025 · סמסטר א
מחלקותאובייקטיםקונסטרוקטורstaticהסתרת מידעsingleton