בכיתה
1. Abstract Class - מחלקה אבסטרקטית
א. מהי מחלקה מופשטת
המחלקה מופשטת היא מחלקה שלא ניתן ליצור ממנה עצמים, אך ניתן לרשת ממנה.
ב. הרציונל לשימוש במחלקה מופשטת
ניקח לדוגמה את מחלקת האב Shape שלה 2 תכונות: נקודת האמצע של הצורה ואת שם הצורה.
לא נכון ליצור עצמים ממחלקה זו, כיוון שצורה צריכה להיות ספציפית (קו, מלבן, עיגול...) ולכן,
תימנע האפשרות של ליצור ממנה (בטעות) עצמים.
ג. ניתן ליצור מחלקות היורשות מהמחלקה מופשטת
מצד אחת, מטרתה של מחלקת Shape להכיל את התכונות המשותפות לכל הצורות, ולכן כל אחת
ממחלקות הצורות השונות תירש ממנה.
ד. כתיבת פעולות במחלקה אבסטרקטית
במחלקה אבסטרקטית ניתן לכתוב פעולות רגילות.
במחלקה אבסטרקטית (ורק בה) ניתן לכתוב פעולות אבסטרקטיות.
מהי פעולה אבסטרקטית?
מראה הפעולה
פעולה מופשטת היא שורת קוד אחת, המהווה כותרת של פעולה ובסופה נקודה-פסיק (' ; ').
כלומר - פעולה מופשטת היא פעולה ללא מימוש.
מהות הפעולה
פעולות אלה הן כמו 'חוזה מחייב', כלומר - בכל אחת מהמחלקות היורשות מ- Shape,
כמו לדוגמה המחלקות Rectangle, Circle, חייבת להיות פעולה ממומשת בעלת חתימה זהה.
דוגמה לשימוש בפעולה אבסטרקטית
במחלקת האב Shape קיימת הפעולה האבסטרקטית הבאה (שימו לב לנקודה פסיק בסוף השורה): ;()public double GetArea דוגמה1: מימוש הפעולה המופשטת במחלקה היורשת Rectangle
במחלקות מלבן הפעולה תיכתב בלוגיקה התכנותית מתאימה לחישוב שטח מלבן: ;()public double GetArea
} ;return this. width * this.height {
דוגמה2: מימוש הפעולה המופשטת במחלקה היורשת Circle
במחלקת עיגול הפעולה תיכתב בלוגיקה תכנותית המתאימה לחישוב שטח עיגול:
;()public double GetArea
} ;(return Math.PI * Math.Pow(this.radius, 2 {
3. תרגיל AnimalsProject - drill02
לבית
קריאה ותרגול
1. קראו הדף שקיבלתם בנושא הורשה-הכלה-פולימורפיזם (ראו דף זה גם בסעיף 170).
1. קראו אודות מחלקה אבסטרקטית (סעיף 215 בדף 'קישורים').
2. בצעו את תרגיל AnimalsProject - drill02 (סעיף 220 בדף 'קישורים').
בשיעורים הבאים
1. הסבר: הורשה-הכלה-פולימורפיזם - Inheritance-Composition-Polymorphism (ס' 170).
2. תרגיל: RentalProject-drill01 תרגיל אחרון לפני לימוד ממשקים (סעיף 230).
3. תרגיל: ClassStudentsProject הוספת תכונה מורכבת (Complex Data-Type)
המוכלת (Composition) במחלקה (ס' 190).
4. תרגיל: SchoolEntitiesProject שימוש באופרטור is ודריסת פעולות בהיררכיית המחלקות (ס' 210).