מה נלמד בקורס?
תכנות מונחה עצמים בפייתון
שיעור מבוא:
היכרות עם עקרונות התכנות מונחה עצמים (OOP).
יתרונות גישת ה-OOP והשימושים שלה בעולם הפיתוח.
הבנת ההבדל בין תכנות מבני לתכנות מונחה עצמים.
כיצד OOP משפר את ארגון הקוד והתחזוקה שלו.
יצירת מחלקות ואובייקטים:
הגדרת מחלקה בסיסית באמצעות המילה השמורה class.
הבנת המשמעות והשימוש במילה השמורה self.
יצירת אובייקטים מתוך מחלקות והפעלת מתודות.
הוספת מאפיינים (attributes) לאובייקטים במחלקות.
מתודות סטטיות ומתודות מחלקה:
הגדרת מתודה סטטית (static method) באמצעות @staticmethod.
הגדרת מתודת מחלקה (class method) באמצעות @classmethod.
שימוש במתודות סטטיות לביצוע פעולות שאינן תלויות באובייקטים.
הבנת ההבדלים בין מתודות סטטיות, מחלקה, ומתודות רגילות.
הורשה:
מהי הורשה וכיצד היא מאפשרת שימוש חוזר בקוד.
הגדרת מחלקות בסיס ומחלקות יורשות.
שימוש במתודה super() להרחבת פונקציונליות במחלקה יורשת.
הוספת מתודות ומאפיינים חדשים למחלקות יורשות.
הכמסה:
מהי הכמסה (encapsulation) ולמה היא חשובה.
הסתרת נתונים באמצעות משתנים פרטיים.
שימוש במתודות getter ו-setter לגישה מבוקרת למשתנים.
הגנה על המידע במחלקה מטעויות חיצוניות.
פולימורפיזם:
מהו פולימורפיזם (polymorphism) וכיצד הוא משפר גמישות בקוד.
שימוש באותו שם מתודה בהתנהגויות שונות במחלקות יורשות.
ממשק אחיד למתודות שונות באובייקטים שונים.
יצירת דוגמאות ליישום פולימורפיזם בפרויקטים אמיתיים.
מתודות קסם:
היכרות עם מתודות קסם כמו __init__, __str__, __repr__, __len__.
שימוש במתודות קסם להתאמה אישית של פעולות סטנדרטיות.
כתיבת מתודות קסם המאפשרות הדפסה ברורה של אובייקטים.
שילוב מתודות קסם בקוד לפרויקטים מעשיים.
מחלקות אבסטרקטיות:
מהי מחלקה אבסטרקטית ומתי להשתמש בה.
הגדרת מחלקות אבסטרקטיות באמצעות מודול abc.
יצירת מתודות אבסטרקטיות שניתן לממש במחלקות יורשות.
שמירה על אחידות בממשק הקוד במחלקות שונות.
אגרגציות מול קומפוזיציה:
ההבדל בין אגרגציה (aggregation) לקומפוזיציה (composition).
שימוש באגרגציה לקשרים חלשים בין מחלקות.
שימוש בקומפוזיציה לשילוב הדוק בין מחלקות.
דוגמאות מעשיות לאגרגציות וקומפוזיציות בפרויקטים.
השימוש בדקורטור property:
הבנת השימוש בדקורטור @property ליצירת מתודות גישה.
הגדרת מתודות getter ו-setter באמצעות @property.
שימוש ב-@property לכתיבת קוד קריא ויעיל.
ניהול נתונים פרטיים בצורה אינטואיטיבית באמצעות @property.
מילות סיום:
סיכום עקרונות התכנות מונחה עצמים בפייתון.
הדגשת החשיבות של תרגול מתמיד ליישום מוצלח של OOP.
עידוד להעמקה נוספת ולמידה מתקדמת ב-OOP.
דוגמאות לרעיונות לפרויקטים כדי להמשיך לתרגל.