אסף גרניט, שף ישראלי מפורסם, רוצה לבנות פרויקט לניהול של המסעדה האיטלקית שלו. במטבח של המסעדה יש שני סוגים של סירים - סיר לפסטה וסיר לאורז. לכל סיר יש שלוש פעולות - למלא סיר במים, לשים סיר על הגז, להוריד סיר מהגז. לשלושת הפעולות מימוש זהה עבור שני הסוגים של סירים.
עזרו לאסף לבחור את העיצוב הנכון ביותר עבור הפרויקט שלו.
א.
ב.
ג.
ד.
ה. אף אחד מהעיצובים הנ"ל אינו נכון
אוניברסיטת בר-אילןמועד ב · 2025 · סמסטר ב
מחלקותאובייקטיםירושהמחלקות מופשטותממשקים
נתון קוד הבא
סמנו את הטענה הנכונה ביותר
א. הקוד אינו מתקמפל
ב. הקוד מתקמפל אך נקבל שגיאת זמן ריצה
ג. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) g::B ,f::A ,f::B
ד. הקוד מתקמפל ורץ, ומדפיס (משמאל לימין) f::A ,f::B
ה. אף מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותירושהמעקב אחר קודפולימורפיזם
נתון קוד הבא
עידו אומר ששורה 1 לא מתקמפלת בגלל של- f() אין מימוש ב-abstract class. יונתן אומר שהקוד תקין, כלומר, מתקמפל ורץ ללא שגיאות.
מי מהסטודנטים צודק?
א. עידו
ב. יונתן
ג. לא ניתן להכריע
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותפולימורפיזםירושהcastingOverridingמעקב אחר קוד
סמנו את כל הטענות הנכונות
א. אם לאחר סיום פרויקט שמנו לב שלא השתמשנו באחד הממשקים בשום מקום בקוד, אז הממשק הזה חסר משמעות וניתן להסיר אותו מהפרויקט
ב. אם בפרויקט קיים ממשק עם מתודות ממומשות (כלומר, ממשק עם default), עלינו להחליף את הממשק הזה במחלקה אבסטרקטית. הממשק יכול גם כן להישאר בפרויקט אך ללא מימוש של מתודות.
ג. מחלקה יכולה לממש כמה ממשקים שונים בו-זמנית
ד. ממשק יכול להרחיב ממשקים אחרים
ה. אף אחת מהטענות הנ"ל אינה נכונה
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
ממשקיםמחלקות מופשטותירושהמחלקות
יונתן רוצה לבנות משחק להרכבת פאזלים. בשביל להרכיב פאזל יש ליצור פאזל וילד שירכיב אותו. יש שני סוגים של פאזלים: דו-ממדי ותלת-ממדי. לכל סוג של פאזל יש מתודה play שמקבלת ילד, ומנהלת את תהליך ההרכבה. לכל סוג של פאזל תהליך ההרכבה שונה לחלוטין.
עזרו ליונתן לבחור את העיצוב הנכון ביותר עבור המשחק שלו.
א.
ב.
ג.
ד.
ה. אף אחד מהעיצובים הנ"ל אינו נכון
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
ממשקיםמחלקות מופשטותפולימורפיזםירושה
נתונה הגדרה של מחלקה A
הציעו את כל ההשלמות האפשריות עבור החלקים המוסתרים בהגדרה של A כך שהקוד לא יתקמפל, או הסבירו למה השלמה כזו לא קיימת. עבור כל אפשרות הסבירו מה הסיבה לשגיאת קמפול.
נמקו בקצרה את תשובתכםן.
אוניברסיטת בר-אילןמועד ג · 2025 · סמסטר ב
מחלקות מופשטותOverridingstaticהסתרת מידע
נתון פרויקט הבא.
הפרויקט נתון בשלמותו.
נתון כי הפרויקט תקין, כלומר, מתקמפל ורץ ללא שגיאות.
רוני טוען שהעיצוב של הפרויקט שגוי.
האם רוני צודק?
כן | לא | לא ניתן להכריע
נמקו בקצרה את תשובתכם.
אוניברסיטת בר-אילןמועד א · 2025 · סמסטר א
מחלקות מופשטותירושהOverriding
בחרו בכל הטענות הנכונות המתייחסות למחלקות אבסטרקטיות.
א. אסור להגדיר בנאי למחלקה אבסטרקטית, אחרת ניתן יהיה ליצור מופע של מחלקה זו
ב. לא הגיוני להגדיר שדות לא סטטיים למחלקה אבסטרקטית, כי אם בכל מקרה לא ניתן ליצור מופע של מחלקה זו, אז שדות אילו הינם חסרי משמעות
ג. כדי להגדיר מחלקה כאבסטרקטית, חייבת להיות למחלקה זו לפחות מתודה אחת שהינה אבסטרקטית
ד. אם כל המתודות של המחלקה הינן סטטיות, חובה להגדיר את המחלקה להיות אבסטרקטית
ה. אף אחת מהטענות הנ״ל אינה נכונה
נמקו בקצרה את תשובתכם.
אוניברסיטת בר-אילןמועד א · 2025 · סמסטר א
מחלקות מופשטותקונסטרוקטורירושהstatic
איזו דרישה מחייבת שימוש ב־abstract class ולא אפשרית למימוש באמצעות interface?
בחרו את כל הטענות הנכונות.
א. פולימורפיזם
ב. מימוש מתודות
ג. אכיפת מימוש מתודות
ד. הגדרת שדות ברמת האובייקט
ה. כל הדרישות הנ״ל ניתנות להשגה גם באמצעות interface וגם באמצעות abstract class
נמקו בקצרה את תשובתכם.
אוניברסיטת בר-אילןמועד א · 2025 · סמסטר א
מחלקות מופשטותממשקיםירושהאובייקטים
נתונות מחלקות הבאות:
סמנו את טענה הנכונה ביותר:
א. המחלקה B אינה תקינה כי כל המטודות בה ממומשות
ב. המחלקה B אינה תקינה כי היא מכילה בנאי
ג. המחלקה B אינה תקינה כי היא מכילה שדה
ד. המחלקה B אינה תקינה כי היא מרחיבה מחלקה שאינה אבסטרקטית
ה. המחלקה B תקינה
אוניברסיטת בר-אילןמועד א · 2024 · סמסטר ב
מחלקות מופשטותירושהקונסטרוקטורמחלקותמעקב אחר קוד