בכיתה
1. חזרה: תכונה סטטית
* CarProject02 - מחלקת Car:
התכונה הסטטית country המכילה את הערך "IL"
א- כיצד נראית שורה ההצהרה על התכונה country?
ב- אם התכונה country הייתה מוגדרת כ- public,
כיצד ניתן היה לגשת אל הערך שלה מבחוץ (מתוך ה- Main)?
ג- האם נכונה ההגדרה הבאה: "התכונה country שייכת למחלקה"? הסבירו.
ד- האם ניתן לשנות את ערך התכונה country לפני שמריצים את התוכנית?
ה- האם ניתן לשנות את ערך התכונה country במהלך ריצת התוכנית?
ואם כן, מה יהיה ערך התכונה לגבי עצמים שנוצרו לפני שהיא שונתה?
ו- התכונה counter מונה את כמות העצמים שנוצרו מרגע ריצת התוכנית.
מה משקף ערך התכונה counter כאשר היא מוגדרת כתכונה סטטית?
מה ישקף ערך התכונה counter אם היא תוגדר כתכונה רגילה (לא סטטית)?
2. חזרה: בנאי סטטי
* CarProject05 - מחלקת Car:
הבנאי הסטטי ()Car:
א- האם נכון מתודולוגית לאתחל את התכונה הסטטית country בשורת ההצהרה עליה?
ב- האם נכון מתודולוגית לאתחל את התכונה הסטטית country בבנאי הסטטי של המחלקה?
ג- האם חתימתו של בנאי סטטי מכילה הרשאת גישה כמו private או public?
ד- האם חתימתו של בנאי סטטי מכילה את מלת-המפתח static?
ה- האם ניתן לשנות ערך של תכונה רגילה (לא סטטית) בזמן ריצת התוכנית
בהנחה שיש עבורה פעולת Set?
ו- האם ניתן לשנות ערך של תכונה סטטית בזמן ריצת התוכנית בהנחה שיש עבורה
פעולת Set שאינה סטטית?
ז- האם ניתן לשנות ערך של תכונה סטטית בזמן ריצת התוכנית בהנחה שיש עבורה
פעולת Set סטטית?
3. חזרה: פעולות Get/Set סטטיות
* CarProject05 - מחלקת Car:
א- כיצד תיראה חתימת הפעולה GetManu שתפקידה להחזיר
את הערך השמור בתכונה הסטטית MANU?
ב- מה יהיה הקוד בבלוק של הפעולה GetManu?
ג- כתבו את חתימת הפעולה SetManu.
ד- מה יהיה הקוד בבלוק של הפעולה SetManu?
4. חזרה: הדגמת תכונה סטטית בפרויקט
הערך ששמנו בתכונה הוא "IL" כיוון שכל המכוניות בארץ הן עם התווית "IL",
וההנחה שהתוכנה שלנו מטפלת במכוניות בעלות רישוי ישראלי בלבד.
היתרון בכך שהתכונה country היא סטטית, שהערך שלה ("IL") משותף לכל העצמים.
כלומר, גם אם יצרנו 100,000 עצמים מטיפוס Car, הרי שתכונה זו יושבת פעם אחת בלבד בזיכרון.
וזה בניגוד לכל התכונות הרגילות, כמו למשל צבע, לכל רכב צבע שונה, כך שאם יצרנו 100,000
עצמים של מכוניות, הרי ששם הצבע כתוב בזיכרון 100,000 פעמים, כמספר העצמים שיצרנו.
גם אם כמה מכוניות הן באותו הצבע, עדיין צבע זה ייכתב בזיכרון יותר מפעם אחת,
כמספר המכוניות בעלות צבע זה.
או פתרונות ל- 5 תרגילי CarProject בדף 'קישורים'.
5. מענה ש.ב: מהו משתנה לקריאה-בלבד (readonly)?
6. מענה ש.ב: מהו קבוע (const)?
8. העמסת פעולות
7. מבדיקת ש.ב: StudentsProject-drill01
לבית (ליום ד', ה- 2.11.22)
הערות:
* את התרגילים שאתם מתבקשים לבצע במחשב, יש להקליד הפתרון שלכם לוודא שהתוכנית רצה בהצלחה.
* יש לשמור התרגילים על גבי ה- Disk On Key שלכם.
* מומלץ לשמור גיבוי גם בדרייב האישי שלכם.
* למי שהמחשב לא זמין, יכין התרגילים במלואם על דף.
* חשוב! הכינו שאלותיכם לקראת השיעור הבא.
1. StudentsProject - drill01
(ראו בדף 'קישורים' סעיף 45, התרגיל, פתרונות ב- rar, פתרונות ב- pdf).
2. CarProject drills01-05
בצעו במחשב את CarProject תרגילים drill01-drill05
(דף 'קישורים' סעיפים 55, 75, 98, 103, 104).
ודאו שאתם מבינים ויודעים לעשותם.
ראו הפתרונות להם בדף 'קישורים' בצמוד לכל אחד מהתרגילים בנושא זה.
המטרה של תרגיל זה: שתדעו לעשותו בעצמכם מבלי להסתכל בפתרונות.
עליכם להגיע למצב שאתם פותרים כל אחד מהתרגילים בעצמכם בלי להסתכל בפתרונות.
3. דעו לענות על השאלות / המושגים שבסעיפים 1-7 למעלה במקטע 'בכיתה'.
4. הכינו שאלותיכם לשיעור הבא.
חשוב! הכינו כל שאלותיכם לשיעור הבא.
אל תסתמכו על כך שתלמיד אחר כבר ישאל. בדרך כלל זה לא קורה.
בשיעור הבא (יום ד', ה- 2.11.22)
1. מבדק ש.ב נדחה ליום 2.11.22.
2. מושגים בתקשורת בין עצמים.
מושגים בתקשורת בין עצמים
מהי תקשורת אל עצמים?
גישה או פנייה לתכונות ולשיטות של העצם. (למשל: ()s1.GetAvg).
מהי תקשורת פנימית תוך מחלקתית?
מתבצעת על-ידי קוד הכתוב בתוך המחלקה, פנייה אל התכונות והשיטות שבמחלקה,
כולל תכונות / שיטות בעלי הרשאת גישה private.
מהי תקשורת חיצונית אל המחלקה?
תקשורת המתבצעת מחוץ למחלקה, למשל: מתוך ה- Main, ומתוך עצם קיים
מסוג המחלקה, אל התכונות והשיטות שלה.
מהם עצמים מורכבים?
תכונה שהיא עצם. למשל: במחלקת Student התכונה הורה או מחנך (נפרט בהמשך).
מהם יחסים בין מחלקות?
ירושה. למשל: מחלקת Person ומחלקת Student (נפרט בהמשך).
דגשים לגבי התרגיל DateTime (ס' 35)
יצירת עצם
יצירת עצם מתבצעת תמיד מחוץ למחלקה ובאמצעות זימון אחד מבנאי המחלקה.
למשל: יצירת עצם תאריך ממחלקת Date.
פעולות מאחזרות Get
למשל: קבלת היום / החודש / השנה, קבלת השעה / הדקות / השניות....
פעולות קובעות Set
למשל: קביעת היום בחודש (במקום הערך הקודם).