1-9.2.23 (יום ד', יום ה', יום ד', יום ה') - enum, properties. תרגיל RentalProject ותרגיל BetterRentalProject drill01
בכיתה
הבוחן השני יתקיים ביום ד', ה- 15.3.2023
1. enum - טיפוס היכול לקבל ערכים מתוך קבוצת ערכים מוכנה מראש
לא לבגרות - לא תישאלו על כך בבגרות, אסור לכתוב enum בבגרות.
הסיבה שהנושא מופיע כאן: כדי שתדעו לקרוא דוגמאות קוד איתו המופיעות תכופות באינטרנט.
מדובר מחלקה מיוחדת ומנוונת, שתוכנה הוא ערכים המופרדים בפסיקים האחד מהשני.
אופן הגדרתו: בשורת הכותרת כותבים א. enum ב. שם טיפוס ג.
בבלוק המחלקה: כותבים ערכים המופרדים בפסיקים.
לדוגמה:
enum Color
{ red, green, blue, white, yellow, pink, magenta }
2. Poroperties - איפשור מימוש עיקרון הכימוס
לא לבגרות - לא תישאלו על כך בבגרות, אסור לכתוב Properties בבגרות.
הסיבה שהנושא מופיע כאן: כדי שתדעו לקרוא דוגמאות קוד איתן המופיעות תכופות באינטרנט.
באמצעות עיקרון הסתרת התכונות וחשיפתן דרך מנגנון סינון ובקרה לצורכי בדיקת תקינות המידע.
ניתן להגדיר מראש את התכונות כפרופרטי כך:
public string Name {get; set}
בזכות כך נוצרת מאחורי הקלעים התכונה name, אך הגישה אליה היא דרך המאפיין Name. הדבר גם
חוסך כתיבת פעולות Get/Set.
הסיבה לשימוש בממשקים:
א. כיוון שאין הורשה מרובה ב- #C.
ב. כדי להוסיף לוגיקה לנושא ההיררכי של המחלקה שלנו.
לדוגמה, אם אנו רוצים לאפשר להשכיר מכוניות, אזי נקיים חוזה בין מחלקת Vehicle לבין הממשק
IRental אשר יכיל פרופרטיז ו/או פעולות שחובה לממש במחלקת Vehicle.
כדי שהתרגול שלנו יתאים לבגרות, לא נרשום Properties בממשק, אלא במקומם פעולות Get/Set.
שימו לב: Properties הם פעולות. כאשר יוצרים פרופרטי, נוצרת תכונה מתאימה מאחורי הקלעים.
בניית מחלקת Enums אשר תכיל הגדרות למחלקות enum מטיפוסים שונים כמו CarStyle ועוד.
לבית
קריאה
1. מצגת - 'הורשה מתי?'
הבחנה מתי נכון להשתמש בהורשה ומתי אין זה נכון (סעיף 300).
2. מצגת תיאורטית - 'מהו ממשק?'
קראו את עיקרי המצגת, אין צורך להיכנס לפרטי הפרטים שבו (סעיף 310).
** בסעיף זה קיימים קישורים ל- 4 סרטונים בקצרים בנושא ממשקים. ראו הסרטונים הללו,
הם יעזרו לכם להבין העיקרון שמאחורי רעיון הממשקים **
3. מצגת הדגמה - 'עבודה עם ממשקים'
(סעיף 320).
תרגול
1. תרגיל BetterRentalProject drill01 - בניית מחלקות הפרויקט (סעיף 350).
בשיעורים הבאים
1. המשך ממשקים.
2. תרגיל BetterRentalProject drill02 - ב- Main:
* יצירת עצמים של כלי רכב להשכרה.
* יצירת אוסף מושכרים.
* שימוש ב- Indexer.
* Down-casting.