ראיון טלפוני, שאם עוברים אותו מזומנים לראיון פנים אל פנים
שאלות מתוך הראיון
- ספר על עצמך.
- מה אתה יודע על אינטרפייס ואבסטרקט?
- מה זה שדה (field) שהוא סטטי?
- מה אתה יודע על מבני נתונים (List, HashMap וכד')
תשובות
הוסף תשובה
|
לצפיה בתשובות
ינואר 2019
אינטרפייס זה רק מחלקה, אבסטרקט זה גם קלאס וגם מתודה. לא ניתן לייצר אובייקט משניהם. כי זה קביעת סטנדרט (מבחינת שגיאת קומפילציה אם לא אציית לסטנדרט), כמו חוזה. לכן קוראים לזה ממשק – כי זה לא באמת עושה משהו בעצמו אלא רק מעביר אותך הלאה..אבסטרקט יכולה להכיל מתודות אבסטרקטיות (שלא מכילות מימוש – כלומר אין להן בלוק עם קוד – וחובה לממש אותם, כדי שלא תהיה שגיאת קומפילציה, כמתודות קונקרטיות במחלקה היורשת מהמחלקה האבסטרקטית – במידה ומדובר במחלקה קונקרטית), או קונקרטיות.
אינטרפייס מכיל רק מתודות אבסטרקטיות.
4. ההבדל המפורסם ביותר זה שבג'אווה (וגם ב- C#, לעומת פייתון או ++C) ניתן לרשת רק ממחלקה אחת (אבסטרקטית), לעומת אינטרפייס, שניתן לממש כמה מחלקות שונות (זבוב יכול להיות גם "מעופף" וגם "חרק"...) ואז חובה לממש את כל המתודות של המחלקה אותה מממשים (אא"כ המממש הוא אבסטרקט או אינטרפייס בעצמו). לכן לפעמים עדיף להשתמש דווקא באינטרפייס.. (אינטרפייס זה בעצם נקודת מבט פולימורפית משותפת לכמה משפחות הורשה שונות).