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

7.9.22 יום ד', (חוף, אשכול ב', שעות 7-8) - מפגש ראשון

 בכיתה

1.  מערך מטיפוס פשוט (פרמיטיבי) לעומת מערך אובייקטים.
     הקצאה סטטית - גודל משתנה פשוט או מערך לא יכול להשתנות לאחר ההצהרה עליו.

2. תא במערך מכיל ערך בודד. אם הערך פשוט, הערך ימוקם בתוך התא.

3. תא במערך אובייקטים יכיל ייחוס (Reference) לאובייקט.

4. הייחוס נמצא בזיכרון ה- Stack. האובייקט יימצא בזיכרון ה- Heap.
    הקצאה דינמית: מתבצעת בזמן ריצת התכנית. 
    למשל: כאשר נוצר אובייקט חדש בזמן ריצת התכנית, מוקצה עבורו מקום ב- Heap.
    הגישה אל ה- Heap אינה ישירה, אלא דרך הפנייה שיושבת ב- Stack.

5. שירטוט זיכרון ה- Stack עם יישומי הביוס, מערכת-ההפעלה, Visual Studio
    וכו' (למשל: התוכנית שאנו כותבים).

6. שירטוט זיכרון ה- Heap המכיל את העצמים שנוצרו במהלך ריצת התוכנית שלנו.

7. העברת פרמטרים מטיפוס פשוט מתבצעת By Value (זאת ברירת המחדל).

8. העברת פרמטרים מטיפוס אובייקט מתבצעת By Reference (זאת ברירת המחדל).

9. מחיקת עצם על-ידי המתכנת: השמת הערך null בשם העצם. לדוגמא: s1=null

10. מחיקת עצם בפועל: על ידי ה- Garbage Collection.

לבית (למחר, יום ה')

1. קראו מצגת בסיסית בנושא זיכרון Stack & Heap (דף 'קישורים' סעיף 12).

2. קראו מצגת מתקדמת בנושא זיכרון Stack & Heap (דף 'קישורים' סעיף 13).

בשיעור הבא (בשבוע הבא)

1. סוגי שגיאות בתכנות (למעוניינים לקרוא לפני השיעור: קישורים סעיף 5).

2. הסבר: "כל דבר הוא אובייקט" (יינתן כמשימת קריאה במסגרת ש.ב: קישורים סעיף 10).

3. ההבדל בין ממשק משתמש לבין ממשק המחלקה (קישורים 11).

4. תרגול: PointProject תרגיל drill01.

5. יינתן כקריאה לבית: מצגות קצרות בנושא תכנות מונחה עצמים (קישורים 20, 30, 31).