Smart-World Surf

תכנות מונחה עצמים

קורס TECHNION-EQ-28

מדעי המחשב · מרחב למידה אישי — יחידות, מושגים ומבחנים

שדרגו את הדף עם קובץ

גררו מבחן, סיכום או צילום של מחברת — אני אקרא, אוודא שזה רלוונטי, ואחדד את התוכן (מושגים, סיכויי מבחן, מומחיות).

אם לא סימנתם — הקובץ נקרא לחילוץ עובדות בלבד ואז נמחק מהמערכת (זכויות יוצרים). העובדות שנלמדו נשארות ומשפרות את הקורס.

גרסת הקהילה

📊 התקדמות הלמידה

0
הושלמו
11
סה"כ יחידות

לחצו על העיגול שליד כל יחידה כדי לסמן שהשלמתם אותה

📚 יחידות הקורס

11 יחידות

1
מבוא לתכנות מונחה עצמים
היכרות עם פרדיגמת ה-OOP ועקרונותיה הבסיסיים.
פרדיגמות תכנותהיסטוריה ויתרונות של OOPהפשטה (Abstraction)כימוס (Encapsulation)
2
מחלקה ועצם
הגדרת מחלקות, יצירת עצמים וניהול מצב והתנהגות.
הגדרת מחלקהיצירת עצם (Instantiation)שדות (Fields) ומתודות (Methods)גישה לחברים (Access Modifiers)
3
בנאים והורסים
מחזור חיי עצם: יצירה, אתחול והשמדה.
בנאי ברירת מחדלבנאי העתקההורסניהול זיכרון אוטומטי
4
ירושה
הרחבת פונקציונליות ושימוש חוזר בקוד באמצעות ירושה.
מחלקה בסיסית ונגזרתקשר 'הוא-א' (IS-A)העמסת מתודות (Method Overloading)דריסת מתודות (Method Overriding)
5
פולימורפיזם
גמישות ודינמיות באמצעות התנהגות שונה לאובייקטים מאותו סוג.
פונקציות וירטואליותמחלקה מופשטת (Abstract Class)ממשקים (Interfaces)קשירה דינמית (Dynamic Binding)
6
העמסת אופרטורים
התאמת אופרטורים לעבודה עם טיפוסים מוגדרים על ידי המשתמש.
אופרטורים בינאריים ואונארייםאופרטור השמהפונקציות חברות (Friend Functions)אופרטורי קלט/פלט
7
תבניות (Templates/Generics)
כתיבת קוד גנרי הפועל על טיפוסים שונים.
תבניות מחלקהתבניות פונקציהפרמטרי טיפוסתכנות גנרי
8
טיפול בחריגות
בניית קוד חזק ועמיד בפני שגיאות זמן ריצה.
מנגנון try-catch-throwהיררכיית חריגותחריגות מוגדרות משתמשRAII (Resource Acquisition Is Initialization)
9
ניהול זיכרון מתקדם
הבנה ושליטה בניהול זיכרון דינמי.
מצביעים והפניותהקצאה ושחרור זיכרון (new/delete)מצביעים חכמים (Smart Pointers)בעיות זיכרון נפוצות (דליפותמצביעים תלויים)
10
תבניות עיצוב (Design Patterns)
פתרונות סטנדרטיים לבעיות תכנון נפוצות.
תבניות יצירה (Creational Patterns)תבניות מבנה (Structural Patterns)תבניות התנהגות (Behavioral Patterns)SingletonFactory MethodObserver
11
UML ומידול מונחה עצמים
שפת מידול גרפית לתיאור, ויזואליזציה ותיעוד מערכות.
דיאגרמות מחלקותדיאגרמות עצמיםדיאגרמות רצףקשרים בין מחלקות (הרכבהצבירה)
📖

מושגים חשובים לבחינה

כל המושגים שכדאי להכיר לבחינה ✨

מחלקה (Class)🔥 גבוה · הערכת AI
תבנית או שרטוט ליצירת עצמים, המגדירה את התכונות (שדות) וההתנהגויות (מתודות) המשותפות להם.הרחבה ←
עצם (Object)🔥 גבוה · הערכת AI
מופע ספציפי של מחלקה, בעל מצב ייחודי (ערכי שדות) ויכולת לבצע פעולות (מתודות).הרחבה ←
כימוס (Encapsulation)🔥 גבוה · הערכת AI
עקרון המאגד נתונים (שדות) ופונקציות (מתודות) הפועלות עליהם ליחידה אחת, ומסתיר את הפרטים הפנימיים מהעולם החיצוני.הרחבה ←
ירושה (Inheritance)🔥 גבוה · הערכת AI
מנגנון המאפשר למחלקה חדשה (מחלקה נגזרת) לרשת תכונות והתנהגויות ממחלקה קיימת (מחלקה בסיסית), ובכך לקדם שימוש חוזר בקוד.הרחבה ←
פולימורפיזם (Polymorphism)🔥 גבוה · הערכת AI
היכולת של עצמים שונים להגיב באופן שונה לאותה קריאה לפעולה, בהתאם לטיפוסם בפועל בזמן ריצה.הרחבה ←
בנאי (Constructor)🔥 גבוה · הערכת AI
מתודה מיוחדת המופעלת אוטומטית בעת יצירת עצם, ותפקידה לאתחל את מצבו הראשוני.הרחבה ←
הורס (Destructor)בינוני · הערכת AI
מתודה מיוחדת המופעלת אוטומטית לפני השמדת עצם, ותפקידה לשחרר משאבים שהוקצו לו.הרחבה ←
ממשק (Interface)🔥 גבוה · הערכת AI
חוזה המגדיר סט של מתודות ללא מימוש, ומחייב מחלקות המממשות אותו לספק מימוש לכל המתודות הללו.הרחבה ←
מחלקה מופשטת (Abstract Class)🔥 גבוה · הערכת AI
מחלקה שאינה ניתנת ליצירת מופעים ישירות, ועשויה להכיל מתודות מופשטות (ללא מימוש) המחייבות מחלקות נגזרות לממש אותן.הרחבה ←
פונקציה וירטואלית (Virtual Function)🔥 גבוה · הערכת AI
מתודה במחלקת בסיס שניתן לדרוס אותה במחלקות נגזרות, ומאפשרת קשירה דינמית (Dynamic Binding) בזמן ריצה.הרחבה ←
העמסת אופרטורים (Operator Overloading)בינוני · הערכת AI
היכולת להגדיר מחדש את התנהגותם של אופרטורים קיימים עבור טיפוסים מוגדרים על ידי המשתמש.הרחבה ←
תבנית (Template/Generic)🔥 גבוה · הערכת AI
מנגנון המאפשר כתיבת קוד גנרי (מחלקות או פונקציות) שיכול לפעול על טיפוסים שונים מבלי לשכפל את הקוד.הרחבה ←
חריגה (Exception)בינוני · הערכת AI
אירוע בלתי צפוי המתרחש בזמן ריצה ומפריע לזרימה הרגילה של התוכנית, ומטופל באמצעות מנגנון ייעודי.הרחבה ←
מצביע חכם (Smart Pointer)🔥 גבוה · הערכת AI
עטיפה (Wrapper) למצביע גולמי (Raw Pointer) המספקת ניהול זיכרון אוטומטי, ובכך מונעת דליפות זיכרון ובעיות אחרות.הרחבה ←
תבנית עיצוב (Design Pattern)נמוך · הערכת AI
פתרון כללי, ניתן לשימוש חוזר, לבעיה נפוצה בתכנון תוכנה מונחית עצמים.הרחבה ←
UML (Unified Modeling Language)נמוך · הערכת AI
שפת מידול גרפית סטנדרטית המשמשת לתיאור, ויזואליזציה, בנייה ותיעוד של ארטיפקטים של מערכות תוכנה.הרחבה ←
הפשטה (Abstraction)🔥 גבוה · הערכת AI
התמקדות בפרטים החשובים והרלוונטיים של אובייקט או מערכת, תוך התעלמות מפרטים לא חיוניים.הרחבה ←
RAII (Resource Acquisition Is Initialization)🔥 גבוה · הערכת AI
פרדיגמת תכנות ב-C++ המבטיחה שמשאבים (כמו זיכרון או קבצים) יוקצו בבנאי וישוחררו אוטומטית בהורס, גם במקרה של חריגות.הרחבה ←
🎓

תרגול מבחן (AI)

מבחן לדוגמה שנוצר מכל יחידות הקורס — אמריקאיות + פתוחות, מנוקד ונבדק אוטומטית

🎓

📖 מקורות עיקריים

חומרי הלימוד והחוקרים שעליהם מבוסס הקורס

📕
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
ספר קלאסי המציג שיטות עבודה מומלצות וטיפים מעשיים לכתיבת קוד C++ מונחה עצמים איכותי ויעיל.
📕
Design Patterns: Elements of Reusable Object-Oriented Software
הספר המכונן של 'חבורת הארבעה' המציג את תבניות העיצוב המרכזיות וכיצד ליישם אותן בתכנון מונחה עצמים.
👥
Bjarne Stroustrup, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
מפתחי שפת C++ וחלוצי תבניות העיצוב, שתרמו רבות לעקרונות ולפרקטיקות של תכנות מונחה עצמים.
🔗
cppreference.com
אתר תיעוד מקיף ומהימן עבור שפת C++, כולל ספריות סטנדרטיות, תכונות שפה ודוגמאות קוד.