בכיתה
יום ב'
1. פולימורפיזם
הסבר פולימורפיזם: virtual / override.
יום ג'
2. פולימורפיזם
חזרה ותרגיל כיתה: SchoolEntities.
3. מבחן לדוגמה - "אוזניים לעתיד"
חלק-I כאן.
חלק-II כאן.
הערה: השאלות הנמצאות תחת הכותרת "מה עליכם לעשות" מהוות הרחבה לשאלה 16
המקורית כפי שהופיעה במבחן בגרות 2020.
תשובות למבחן לדוגמה "אוזניים לעתיד":
תשובה לסעיף 16.א - "סרטט תרשים היררכיה בין המחלקות" כאן. חלק-I כאן. חלק-II כאן.
4. מבחן לדוגמה - "המחר"
חלק-I כאן. חלק-II כאן. חלק-III כאן. חלק-IV כאן.
תשובות למבחן לדוגמה "המחר":
חלק-I כאן. חלק-II כאן. חלק-III כאן. חלק IV כאן.
שאלות רבות-ברירה הקשורות בפרויקט "אוזניים לעתיד":
א. חתימת הבנאי במחלקת Employee המקבל כפרמטרים את כל תכונות המחלקה נראה כך:
1) public static Employee(string id, string name)
2) pubilc static Employee(string id, string name)
3) public Employee(string id, string name, int seniority)
4) public Employee(string id, string name)
5) public static Employee(string id, string name, int seniority)
6) ()public Employee
ב. חתימת הפעולה GetScore הנמצאת במחלקת Employee נראית כך:
1) public static int GetScore(int seniority)
2) public int GetScore(int seniority)
3) ()pubic static int GetScore
4) ()public int GetScore
5) public virtual int GetScore(int seniority)
6) ()public static virtual int GetScore
7) ()public virtual int GetScore
8) public static virtual int GetScore(int seniority)
9) public virtual void GetScore(int seniority)
ג. גוף הפעולה GetScore שבמחלקת Technician נראה כך:
1) return base.GetScore() + computersResposibility
2) return GetScore() + computersResposibility
3) returnh this.GetScore() + computersResponsibility
4) return 4 + computersResponsibilty
5) return 4 * computersResponsibility
6) return GetScore() * computertsResponbsibility
7) return GetScore() + 4 + compuitersResponsibility
8) return this.GetScore() + 4 + computersResponsibility
9) return base.GetScore() + 4 + computersResponsibility
ד. המשפט השגוי הוא:
1) על הפעולה GetScore שבמחלקת Technician לכלול את מלת-המפתח override.
2) על גוף הפעולה ToString שבמחלקת Technician לכלול את מלת-המפתח base.
3) אחת מתכונות המחלקה Supervisor היא מערך מטיפוס Employee.
4) על כותרת הפעולה GetScore שבמחלקת UnionMember להיראות כך:
()public override int GetScore.
5) על גוף הפעולה GetScore שבמחלקת UnionMember להיראות כך:
return base.GetScore() * 2 + 2 * GetCommitteeSeniority
לבית
1. חזרה למי שלא עשה עדיין, נושא ניהול אוסף יהיה במבחן
לתרגול: מחלקה לניהול אוסף - Collection class
"ClassStudentsProject" (דף 'קישורים' סעיף 190).
נושא התרגיל: תכונה מורכבת (מערך מטיפוס Student), ניהול אוסף תלמידים.
אין יחס של הורשה בין המחלקות Student ו- StudentsClass.
המחלקה StudentsClass מכילה שתי תכונות:
א. נושא הלימוד בכיתה (subject).
ב. מערך סטודנטים הלומדים בכיתה זו (arrStudents).
התכונה arrStudents היא תכונה מורכבת* מסוג מערך תלמידים.
*(תכונה מורכבת: תכונה מטיפוס שהגדיר המתכנת. תכונה שאינה פרמיטיבית כמו int, char...).
שם התכונה: arrStudents. טיפוס התכונה: []Student.
התכונה הוספה למחלקה לצורך ניהול אוסף תלמידים.
פעולות במחלקה StudentsClass לצורך ניהול אוסף התלמידים:
CountStudents - הפעולה מחזירה את כמות התלמידים הנמצאים כרגע במערך.
AddStudent - הפעולה מקבלת כפרמטר עצם מטיפוס Student.
הפעולה מוסיפה את העצם למערך הסטודנטים.
אם לא נותר מקום במערך, העצם לא יתווסף.
2. מבחן לדוגמה - חברת התקשורת "אוזניים לעתיד"
ענו על המבחן, כולל על השאלות האמריקאיות הכתובות בפוסט זה.
בשיעור הבא
1. חדש - בנאי מאסטר ויצירת עצם חדש באמצעותו.
2. חדש - פעולה סטטית בתוך מחלקה, לשם מה?
3. חדש - פעולה פרטית בתוך מחלקה, לשם מה?
4. חזרה - האופרטור is ודריסה של פעולות במחלקות השייכות לאותה היררכיה.