דילוג לתוכן הראשי

חוף 19.11 ג' - החומר למבחן שיתקיים ביום ה', ה- 28.11.19

החומר למבחן
בגדול
כל מה שלמדנו מתחילת השנה בנושא OOP.
מפורט (בסוגריים מופיע מספר הסעיף בדף 'קישורים')
הבנת מושגים ואופן מימושם בפרויקט
1. ממשק משתמש לעומת ממשק מחלקה (12).
2. זיכרון מחסנית לעומת זיכרון הערמה (40).
3. ההבדלים בין השיטה הבונה ליתר השיטות במחלקה (50).
4. מהי תכונה סטטית (60).
5. מהי פעולה סטטית (64).
6. מהו בנאי סטטי (65).
7. העמסת פעולות (70).
8. דריסת פעולות (90).
9. קבוע (95).
10. מלת-המפתח this (ס' 100).
11.שילוב תנאים בפעולות Get/Set (ס' 102).
12. מבוא להורשה (105).
13. הקשר שבין הורשה-הכלה-פולימורפיזם (170).
14. פעולות על מערכים (140, 160).
15. טיפוס מורכב. לדוגמה: תכונה מטיפוס מערך (190).
16. האופרטור is (ס' 210).
17. המרה מלמטה למעלה - upcasting (הוסבר בשיעור ב- 19.11).
18. המרה מלמעלה למטה - downcasting (הוסבר בשיעור ב- 19.11).
19. השלמת השאלה מהשיעור של אתמול, ה- 18.11 יום ג', לגבי ההמרה downcasting
      בשיעור זה ראינו שיש לבצע downcasting בצד ימין של סימן ה- '=' במקרה של השמה.
      הבנו שזה לא הגיוני, והבטחתי לכם תשובה, אז היא מופיעה להלן.      
      הנחת המוצא: לאחר תנאי קודם, גילינו שהמיקום 0 במערך arrPerson הוא מטיפוס Student 
      והמיקום 1 הוא מטיפוס Person.
      במקום לרשום משהו שגוי הנראה כך:
//(שגיאת קומפילציה/הידור (מתקבל קו אדום מסולסל ולא ניתן להריץ את התכנית
if((Student)arrPerson[0].GetName() == arrPerson[1].GetName()) { ... } 
      היה עלינו לרשום כך:
//downcasting - תקין
if(((Student)arrPerson[0]).GetName() == arrPerson[1].GetName()) 
מבחן לדוגמה
ראו הדפים שניתנו היום בכיתה, אלבזה צילמה אותם עבורכם ושלחה בקבוצה.
פתח לשאלות טרום המבחן
הרגישו חופשיים לשלוח אליי שאלות לקראת המבחן לכתובת המייל הרגילה שלי:
kirzonteacher@gmail.com
בהצלחה.