בכיתה
1. בוחן ראשון למחצית א' ופתרון משותף שלו.
זכרו שבבגרות תישאלו שאלות ברמת ההבנה העמוקה, "כתיבת קוד נטו" לא תספיק כדי לענות נכון.
הבחנים והמבחנים יהיו תואמים לרמת הבגרות, בהתאם לנקודה בה אנו נמצאים בחומר.
התכוננו ברצינות רבה לכל בוחן / מבחן / מבדק ש.ב.
2. מחלקת Object
כל המחלקות ב- #C יורשות ממחלקת Object.
הכוונה למחלקות הקיימות במערכת (למשל DateTime) ולמחלקות שאנו יוצרים בעצמנו (כמו Student).
אחת הפעולות שבמחלקת Object היא הפעולה ToString.
3. חזרה קצרה בנושא הורשה + מהי דריסה
בעת שאנו כותבים את הפעולה ToString (אותה אנו נוהגים לכתוב ברוב המחלקות שאנו יוצרים),
אנו מוסיפים את מלת המפתח override (הסתרה).
ההסתרה גורמת לזימון הפעולה מהמחלקה של האובייקט הנוכחי, ולא לזימון מהמחלקה שמעליה
(כמו מחלקת Object).
מסיבה זו המחלקה היורשת לא מודעת לקיומן של מחלקות שהיא יורשת מהן פעולה זו, ולכן הקומפיילר
מתייחס אליה בהתאם.
הדבר רצוי לנו אם אנו מעוניינים שבמחלקה הנגזרת תהיה אותה הפעולה כמו במחלקה שמעליה,
כלומר, אותה החתימה (שם הפעולה, הפרמטרים וטיפוס הערך המוחזר),
רק שקוד הפעולה במחלקה היורשת יהיה בגרסה המתאימה לאופי מחלקה זו.
(למשל ToString שיתאים ל- Student ולא ל- ToString של Object).
האם נרצה לפעמים לותר על דריסה?
הפעולה ToString שתזומן היא הפעולה ToString הנמצאת במחלקת האב (המחלקה המורישה).
אם שורת הכותרת של ToString במחלקה היורשת מכילה את מלת המפתח override, אזי
תזומן הפעולה ToString של המחלקה היורשת.
זאת הסיבה שנהוג בד"כ לרשום override בחתימת הפעולה ToString.
בהמשך נראה שלא בכל מקרה של כתיבת פעולה נרצה להשתמש ב- override.
4. הדפסת הודעות בבנאי
שילוב של הדפסת הודעה בבנאי, כמו: ("cw("This is c'tor Person
הדבר מאפשר לנו לעקוב בעת הרצת התוכנית על סדר הפעולות שמוביל ליצירת האובייקט.
בהמשך נראה שכאשר אנו יוצרים אובייקט ממחלקת בן, לפני הבנאי שלה, יופעל תמיד בנאי של מחלקת האב.
לבית
1. קראו "מבוא להורשה" (ס' 105).
הערה: ודאו שהפלט שקיבלתם הוא כמו הפלט המופיע בתרגיל.
ודאו שאתם מבינים מדוע זה הפלט.
2. בצעו התרגיל PersonNStudentProject - drill01 (ס' 107).
הערה: ככתוב בתרגיל, קבעו הרשאת התכונות ל- protected במקום ל- private.
בשלב זה שתי ההרשאות זהות מבחינתכם, בשיעור הבא נלמד על ההבדלים ביניהן.
3. קראו את "דוגמה ראשונה בהורשה" (ס' 108), הקלידו את הקודים שבדוגמה והריצו כדי לראות מה קורה.
הכוונה לדוגמאות קוד 1-4 (ללא קוד5).
4. הכינו את שאלותיכם לשיעור הבא.
5. יש להביא הספר (OOP בצבע ורוד) לכל השיעורים.
בשיעור הבא
1. אודות ההרשאה protected.
2. בניה משולבת של אובייקט באמצעות בנאי מחלקת האב ובנאי מחלקת האובייקט באמצעות base:
3. תרגול.