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

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.

3. תרגיל RentalProject
    מתחילים בכיתה ומסיימים בבית עד לשיעור הבא.

4. הסבר אודות ממשקים - Interfaces
    ממשק מהווה חוזה מחייב בינו לבין המחלקה המממשת אותו.
    הסיבה לשימוש בממשקים:
    א. כיוון שאין הורשה מרובה ב- #C.
    ב. כדי להוסיף לוגיקה לנושא ההיררכי של המחלקה שלנו.
        לדוגמה, אם אנו רוצים לאפשר להשכיר מכוניות, אזי נקיים חוזה בין מחלקת Vehicle לבין הממשק
        IRental אשר יכיל פרופרטיז ו/או פעולות שחובה לממש במחלקת Vehicle.
        כדי שהתרגול שלנו יתאים לבגרות, לא נרשום Properties בממשק, אלא במקומם פעולות Get/Set.
        שימו לב: Properties הם פעולות. כאשר יוצרים פרופרטי, נוצרת תכונה מתאימה מאחורי הקלעים.

5. התרגיל BetterRentalProject drill01
    נושא התרגיל: בניית המחלקה Vehicle והיררכיית מחלקות תחתיה. בניית הממשק IRental,
    בניית מחלקת Enums אשר תכיל הגדרות למחלקות enum מטיפוסים שונים כמו CarStyle ועוד.

לבית
קריאה 
1. מצגת - 'הורשה מתי?'
    הבחנה מתי נכון להשתמש בהורשה ומתי אין זה נכון (סעיף 300).
2. מצגת תיאורטית - 'מהו ממשק?'
    קראו את עיקרי המצגת, אין צורך להיכנס לפרטי הפרטים שבו (סעיף 310).
    ** בסעיף זה קיימים קישורים ל- 4 סרטונים בקצרים בנושא ממשקים. ראו הסרטונים הללו,
        הם יעזרו לכם להבין העיקרון שמאחורי רעיון הממשקים **

3. מצגת הדגמה - 'עבודה עם ממשקים'
    (סעיף 320).

תרגול
1. תרגיל BetterRentalProject drill01 - בניית מחלקות הפרויקט (סעיף 350).

בשיעורים הבאים
1המשך ממשקים.
2תרגיל BetterRentalProject drill02 - ב- Main:
    * יצירת עצמים של כלי רכב להשכרה.
    * יצירת אוסף מושכרים.
    *  שימוש ב- Indexer.
    * Down-casting.