משך: 1.5 שעות אקדמיות (68 דקות).

מטרת השיעור: הסטודנטים יחברו את הכלים שכבר תרגלו (Properties, abstract, virtual/override) לשלושה עקרונות בעלי שם, ויוכלו להסביר אותם בראיון עבודה בביטחון.

בסוף השיעור הסטודנטים צריכים: להצביע על דוגמה קונקרטית מקוד שכבר נכתב לכל אחד משלושת העקרונות, ולהסביר את ההבדל בין הכמסה להפשטה במילים שלהם.

דגש קריטי: זה שיעור-סיכום, לא שיעור-כלים-חדשים — אל תלמדו שום syntax חדש כאן, רק תנו שם ומסגור לדברים שכבר נכתבו.


מהלך השיעור

חלק בשיעורמשךהערות ודגשים
פתיחה וחיבור5 דקותשאלו: “מי שמע את המונחים Encapsulation/Abstraction/Polymorphism בראיון עבודה?”
חזרה: הכמסה15 דקותהצביעו על BankAccount/Properties מהיחידה — “זה מה שזה תמיד היה”
חזרה: הפשטה15 דקותהצביעו על Shape/PaymentMethod — abstract/Interface כחוזה
חזרה: פולימורפיזם15 דקותהצביעו על foreach על List/List
שילוב שלושתם10 דקותדוגמת PaymentMethod שמדגימה את כולם יחד
תרגול מודרך8 דקותתרגיל 1 — זיהוי בקוד קיים

דגשים להעברת השיעור

  • אל תציגו שקופית עם שלוש הגדרות “יבשות” בלי לקשור כל אחת מיד לקוד קונקרטי שהסטודנטים כבר כתבו בעצמם — זו בדיוק הדוגמה מ-CLAUDE.md ל"נראה כמו תיעוד ספרייה" שרוצים להימנע ממנה.
  • שימו דגש על תרגיל 1 (זיהוי עקרונות בקוד קיים) — זו הדרך הכי טובה לוודא שההבנה אמיתית ולא רק שינון הגדרות.
  • הכינו את הכיתה לכך שהיחידה הבאה (SOLID) בונה ישירות על הבסיס הזה — לא נושא נפרד, אלא “מה עושים כשיש הרבה מחלקות ביחד”.

מושגים

Encapsulation — הסתרת מימוש + חשיפה מבוקרת. Abstraction — “מה” בלי “איך” — חוזה כללי. Polymorphism — קריאה זהה, התנהגות שונה בזמן ריצה.


תרגיל חשיבה

שאלת פתיחה: “בראיון עבודה שואלים אתכם: ‘תסביר לי מה זה הכמסה ותן דוגמה’. מה תענו — ואיזו תשובה יותר משכנעת: הגדרה כללית, או קוד קונקרטי?”

מהלך: תנו לזוגות לנסח תשובה של 30 שניות עם דוגמה קונקרטית מהקוד שכבר כתבו ביחידה (לא הגדרה מהספר). אספו כמה תשובות. הדגישו: מראיין תמיד יעריך יותר “ב-BankAccount שלי, _balance הוא private וגישה רק דרך Deposit/Balance” מאשר ציטוט הגדרה כללית.

מה המרצה מראה בסוף: עברו יחד על קוד PaymentMethod/CreditCard/PayPal מהשיעור, וסמנו בקול רם (או על הלוח) בדיוק היכן כל עיקרון בא לידי ביטוי — משפט אחד לכל עיקרון, ישירות מהקוד.