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

סיכום תכנות מונחה עצמים עם שאלות ותשובות קצרות כדי לעזור לסטודנטים להבין את המונחים הבסיסיים והעקרונות.

AmitHadadsh·52 flashcards·52 questions
universitycomputer_scienceprogramming
0
Known
1 / 52
0
Learning
Front

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

Tap to flip
Back

שיטה בתכנות שבה מתארים בעיות באמצעות עצמים. כל עצם מכיל נתונים ודברים שאפשר לעשות איתם.

Tap to flip
Got it
Still learning

Quiz(52 questions)

Question 1 of 52

1. מהו היתרון העיקרי של היררכיה בתכנות מונחה עצמים?

Terms in this Study Set(52)

יסודות תכנות מונחה עצמים(16)

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

שיטה בתכנות שבה מתארים בעיות באמצעות עצמים. כל עצם מכיל נתונים ודברים שאפשר לעשות איתם.

מה זה עצם?

אובייקט שמייצג ישות עם מאפיינים (נתונים) ופונקציות (שיטות) שמבצעות פעולות.

מה זה כיתה?

תבנית או סוג המגדיר את המאפיינים והשיטות של עצמים. כל עצם הוא מופע של כיתה.

מה ההבדל בין כיתה למופע?

כיתה היא התבנית בעוד שמופע הוא היישום של כיתה. מופע מפעיל את השיטות המוגדרות.

מה זו ירושה?

תכונה המאפשרת לכיתה אחת לרשת מאפיינים ושיטות מכיתה אחרת. מאפשרת יצירת היררכיות.

מה זה פולימורפיזם?

יכולת של פונקציות או שיטות לפעול על סוגים שונים של נתונים. שיטה יכולה להתנהג באופן שונה לפי סוג העצם.

מה זה אינקפסולציה?

היכולת להסתיר נתונים ושיטות פנימיות של עצם, כך שהן לא נגישות מחוץ לעצם.

מה זה ממשק?

מגדיר مجموعة של שיטות שכיתה חייבת ליישם, ללא מימוש. מאפשרת לתכנת לקוד גמיש.

נכון או לא נכון: עצם יכול להכיל רק שיטות.

לא נכון. עצם יכול להכיל גם נתונים וגם שיטות.

מה זה קומפוזיציה?

שיטה שבה עצם אחד מכיל עצמים אחרים כמאפיינים. מאפשרת יצירת מבנים מורכבים.

מה זו תבנית עיצוב?

פתרון כללי לבעיה נפוצה בתכנות מונחה עצמים. דוגמאות: Singleton, Observer.

מה זה קונסטרוקטור?

שיטה מיוחדת שנקראת אוטומטית בעת יצירת מופע של כיתה, ובדרך כלל משמשת לאתחול נתונים.

מה זה Destructor?

שיטה המופעלת כאשר מופע של כיתה נהרס. משמשת לנקות משאבים.

השלם: תכנות מונחה עצמים משתמש ב...

... עצמים כדי לייצג ריאלים, לשפר תחזוקה ופיתוח קוד גמיש.

שאלה: מה היתרון העיקרי של תכנות מונחה עצמים?

מאפשרת למפתח ליצור קוד שניתן להשתמש בו מחדש, לתחזק ולשדרג בקלות.

מה זה אבסטרקציה?

תהליך של הסתרת פרטים לא רלוונטיים מהמשתמש. לדוגמה: כאשר משתמשים בכיתה, לא רואים את כל המידע הפנימי של העצם, אלא רק את השיטות שחשובות לשימוש.

מבני נתונים ושיטות(12)

מהו מחסנית?

מבנה נתונים שבו הפריטים מוספים ומוסרים לפי סדר LIFO (Last In, First Out).

מהי רשימה מקושרת?

מבנה נתונים שבו כל פריט מכיל הפניה לפריט הבא ברשימה. מאפשר הוספה ומחיקה בקלות.

מה ההבדל בין מערך לרשימה מקושרת?

מערך יש לו גודל קבוע, רשימה מקושרת מאפשרת גודל דינמי.

נכון או לא נכון: טבלת האש משפרת חיפוש?

נכון. מאפשרת חיפוש מהיר בעזרת מפתח. זמן חיפוש ממוצע O(1).

מתי משתמשים בעץ בינארי?

כאשר רוצים לשמור נתונים בצורה מסודרת, לאחסון חיפוש והכנסה מהירה.

איזה אלגוריתם עוקב אחרי סדר בעץ?

DFS (Depth-First Search) - חיפוש בעומק.

איך פועלת טבלת האש?

ממירה מפתח לאינדקס בעזרת פונקציית האש. מאפשרת גישה מהירה.

מה ההגדרה של עץ AVL?

עץ בינארי מאוזן שבו ההפרש בגובה בין תתי העצים הוא לא יותר מ-1.

מהי רשימה ממתינה (Queue)?

מבנה נתונים שבו הפריטים מוספים ומוסרים לפי סדר FIFO (First In, First Out).

חפש: מה ההבדל בין חיפוש בינארי לחיפוש ליניארי?

חיפוש בינארי דורש סדרה ממוין. חיפוש ליניארי בודק כל פריט. זמן O(log n) מול O(n).

תן דוגמה לסוגי נתונים מותאמים אישית.

מעמדות (classes), מבנים (structs) - מאפשרים לאגד נתונים פונקציות.

מהו גרף?

מבנה נתונים המורכב מקודקודים וקשתות שמקשרות ביניהם. משמש לתיאור יחסים.

היררכיה וירושה(12)

מהי היררכיה בתכנות מונחה עצמים?

היררכיה היא המבנה שמארגן מחלקות (classes) במערכת, כאשר מחלקות עליונות יורשות תכונות ממחלקות תחתונות.

מהי ירושה?

ירושה מאפשרת למחלקה חדשה (תת-מחלקה) לרשת תכונות ומאפיינים ממחלקה קיימת (מחלקת בסיס).

האם ירושה מאפשרת שיתוף קוד?

נכון. ירושה מאפשרת שיתוף קוד בין מחלקות, מפשטת את התחזוקה ומפחיתה חזרתיות.

מהו דוגמה לירושה?

מחלקת 'חיה' יכולה להיות מחלקת בסיס, ומחלקות 'כלב' ו'חתול' יכולות להיות תתי מחלקות שלה.

מה היתרון של שימוש בהיררכיה?

היתרון הוא ארגון הגיוני של קוד, שפשטות הפיתוח, וגישה נוחה למאפיינים משותפים.

מלא את החסר: תת-מחלקה יורשת מ___ .

מחלקת בסיס.

האם אפשר ליצור מחלקה שלא יורשת מאף מחלקה?

נכון. מחלקות אלו נקראות 'מחלקות בסיס' או 'מחלקות עצמאיות'.

האם תת-מחלקה יכולה לרשת מכמה מחלקות?

לא בשפות תכנות מונחות עצמים קלאסיות. יש תמיכה בירושה מרובת-ממשקים (multiple interfaces).

השווה בין ירושה והכנסה.

ירושה: תת-מחלקה יורשת ממחלקת בסיס. הכנסה: מחלקה מכילה מופעים של מחלקות אחרות.

מה קורה אם תתי מחלקות מגדירות את אותו מאפיין?

המאפיין בשימוש ייקרא 'מאפיין מקומי' של התת-מחלקה, והמאפיין של מחלקת הבסיס ייכנס לשימוש רק אם לא מוגדר.

מהי ירושת פרמטרים?

ירושת פרמטרים מאפשרת לתתי מחלקות להוסיף או לשנות פרמטרים של מתודות מהמחלקה הבסיסית.

נכון או לא נכון: היררכיה יכולה לכלול מחלקות רבות.

נכון. היררכיה יכולה לכלול מספר רב של מחלקות ותתי מחלקות.

עקרונות ועיצובים מתקדמים(12)

מה זה עקרון ההסתרה?

עקרון ההסתרה קובע שיש להסתיר מידע פנימי של אובייקט כדי למנוע גישה לא מורשית.

מה היתרון של פולימורפיזם?

פולימורפיזם מאפשר לאובייקטים שונים להגיב לאותו ממשק, מה שמפשט את הקוד ומשפר את הגמישות.

נכון או לא נכון: ירושה מצמצמת את הקוד החוזר.

לא נכון. ירושה מאפשרת שיתוף קוד בין מחלקות שונות, מה שמפחית חזרה.

השלם: עקרון ה... מאפשר ליצור אובייקטים עם ממשקים דומים.

פולימורפיזם

מה זה דפוס עיצוב Factory?

דפוס זה מאפשר ליצור אובייקטים מבלי לקבוע את סוג האובייקט המדויק במהלך הקוד.

השווה בין Composition ל-Inheritance.

Composition: שימוש באובייקטים בתוך אובייקט. Inheritance: ירושה של מאפיינים ומאפיינים.

מתי כדאי להשתמש בדפוס Singleton?

כשצריך לוודא שיש אובייקט אחד בלבד מסוג מסוים, כמו ניהול חיבור למסד נתונים.

מה זה עקרון ה-SRP?

עקרון ה-Single Responsibility Principle קובע שלכל מחלקה צריכה להיות אחריות אחת בלבד.

מה היתרון של דפוס עיצוב Observer?

מאפשר למספר אובייקטים לעקוב אחרי שינויים באובייקט אחד מבלי להיות תלויים בו ישירות.

איך דפוס Strategy עובד?

מאפשר להחליף אסטרטגיות במהלך ריצה, כשכל אסטרטגיה ממומשת כמחלקה נפרדת.

מה זה עקרון ה-LSP?

עקרון ה-Liskov Substitution Principle קובע שמחלקות משנות יכולות להחליף מחלקות בסיס מבלי לשבור את הקוד.

מהו דפוס Builder?

דפוס זה מספק דרך לבנות אובייקטים מורכבים בצורה הדרגתית ועם פרמטרים שונים.

Questions in this Study Set(52)

1. מהו היתרון העיקרי של היררכיה בתכנות מונחה עצמים?

A.תכנון קוד מסודר ומאורגן
B.הפחתת ביצועים
C.הגבלת שימוש חוזר בקוד
D.הכנסת מורכבות מיותרת

2. מהו מחסנית?

A.מבנה נתונים שבו הפריטים מוספים ומוסרים לפי סדר LIFO
B.מבנה נתונים שבו הפריטים מסודרים לפי סדר אלפביתי
C.מבנה נתונים המאפשר חיפוש מהיר
D.מבנה נתונים שבו הפריטים מוספים לפי סדר של הקטנה

3. מה ההגדרה הנכונה ביותר לתכנות מונחה עצמים?

A.שיטה המתמקדת בעצמים עם נתונים ופונקציות
B.שיטה המתמקדת בפונקציות חופשיות בלבד
C.שיטה שבה כל הקוד כתוב בתוך פונקציה אחת
D.שיטה שבה לא משתמשים בעצמים

4. מהו עקרון ההסתרה?

A.הסתרת מידע פנימי של אובייקט
B.שיתוף מידע בין אובייקטים
C.הרחבת אובייקטים על ידי ירושה
D.שינוי התנהגות אובייקטית

5. מה קורה כאשר תת-מחלקה מגדירה מאפיין באותו שם כמו מחלקת הבסיס?

A.מאפיין התת-מחלקה יגבר על מאפיין מחלקת הבסיס
B.מאפיין מחלקת הבסיס יגבר על מאפיין התת-מחלקה
C.שני המאפיינים יפעלו במקביל
D.לא ניתן להגדיר כך

6. מהי רשימה מקושרת?

A.מבנה שבו כל פריט מכיל הפניה לפריט הבא
B.מערך עם גודל קבוע
C.מבנה נתונים שבו יש חיפוש ליניארי
D.טבלה עם חיפושים מהירים

7. מהו תפקידו של קונסטרוקטור בכיתה?

A.לאתחל נתונים כאשר מופע נוצר
B.למחוק את המופע כאשר הוא לא בשימוש
C.ליצור מופעים חדשים באורח אוטומטי
D.לספק ממשק למשתמש

8. איזה יתרון יש לפולימורפיזם?

A.פשטות ויכולת גמישות בקוד
B.הגברת המורכבות של הקוד
C.צמצום השימוש בשיטות
D.הקטנת מספר המחלקות

9. מהי ירושת פרמטרים?

A.יכולת לשנות פרמטרים של מתודות ממחלקת הבסיס
B.יכולת לחלק פרמטרים בין מחלקות שונות
C.יכולת ליצור מחלקות חדשות ללא פרמטרים
D.יכולת למנוע גישה לפרמטרים

10. מה ההבדל בין מערך לרשימה מקושרת?

A.מערך יש לו גודל קבוע ורשימה מקושרת גודל דינמי
B.מערך הוא מבנה נתונים ליניארי ורשימה מקושרת לא
C.רשימה מקושרת מהירה יותר בגישה ישירה
D.מערך דורש פחות זיכרון

11. מה ההבדל בין מופע לכיתה?

A.מופע הוא יישום של כיתה
B.כיתה היא מופע של פרויקט
C.מופע הוא סוג של נתון
D.כיתה לא יכולה להכיל מופעים

12. נכון או לא נכון: ירושה מפחיתה את כמות הקוד החוזר.

A.נכון
B.לא נכון
C.תלוי במקרה
D.לא ידוע

13. איזו מהבאות משקפת נכון את ההבדל בין ירושה להכנסה?

A.ירושה היא קשר בין מחלקות, הכנסה היא קשר בין מופעים
B.ירושה מאפשרת לשתף קוד, הכנסה לא
C.ירושה מתבצעת רק במחלקות, הכנסה מתבצעת רק במופעים
D.אין הבדל ביניהם

14. נכון או לא נכון: טבלת האש משפרת חיפוש?

A.נכון
B.לא נכון
C.תלוי במבנה הנתונים
D.רק עבור מערכים

15. מהי ירושה בתכנות מונחה עצמים?

A.יכולת של כיתה אחת לרשת מאפיינים מכיתה אחרת
B.שיטה ליצירת מופע חדש
C.תהליך של מחיקת נתונים
D.יצירת עצם ללא שיטות

16. השלם: עקרון ה... מאפשר לאובייקטים להיות מתחלפים.

A.LSP
B.SRP
C.Factory
D.Observer

17. מתי נעדיף להשתמש בירושה?

A.כאשר יש צורך בשיתוף קוד
B.כאשר אין צורך בשיתוף קוד
C.כאשר נדרש להגדיל את המורכבות
D.כאשר נרצה להימנע משימוש במחלקות בסיס

18. מתי משתמשים בעץ בינארי?

A.כאשר רוצים לשמור נתונים בצורה מסודרת
B.כאשר רוצים ליצור רשימה מקושרת
C.כאשר רוצים להשתמש בטבלת האש
D.כאשר נתונים לא מסודרים

19. מה זה פולימורפיזם?

A.יכולת של פונקציות לפעול על סוגים שונים של נתונים
B.שיטה ליצירת כיתה חדשה
C.מחיקה של מופעים ישנים
D.הגדרה של שיטות חדשות

20. מהו דפוס עיצוב Factory?

A.יצירת אובייקטים מבלי לקבוע את סוגם
B.שימוש באובייקטים תוך מחלקות
C.הצגת שינויים באובייקטים
D.הגדרת אובייקטים עם ממשקים דומים

21. באיזו שפה תכנות מונחה עצמים לא ניתן לממש ירושה מרובת-ממשקים?

A.Java
B.C++
C.Python
D.C#

22. איזה אלגוריתם עוקב אחרי סדר בעץ?

A.DFS (חיפוש בעומק)
B.BFS (חיפוש ברוחב)
C.חיפוש ליניארי
D.חיפוש בינארי

23. מהי אינקפסולציה?

A.הסתרת נתונים פנימיים של עצם
B.שיטה ליצירת מופעים
C.תהליך של איחוד נתונים
D.הגדרה של ממשק

24. מה ההבדל העיקרי בין Composition ל-Inheritance?

A.Composition מאפשרת שימוש באובייקטים בתוך אובייקט
B.Inheritance מצמצמת את מספר האובייקטים
C.Composition מקטינה את המורכבות
D.Inheritance לא מאפשרת שיתוף קוד

25. מהי מחלקה בסיסית?

A.מחלקה שלא יורשת ממחלקה אחרת
B.מחלקה שמכילה מופעים של מחלקות אחרות
C.מחלקה שמוגדרת רק לתיאוריה
D.מחלקה עם תכנים מופשטים בלבד

26. איך פועלת טבלת האש?

A.ממירה מפתח לאינדקס בעזרת פונקציית האש
B.מאחסנת נתונים לפי GCD
C.משתמשת רק באלגוריתם חיפוש ליניארי
D.כשהיא מאחסנת נתונים בצורה של עץ

27. איזה מהבאים הוא NOT שיטה של תכנות מונחה עצמים?

A.שימוש בעצמים
B.כתיבת כל הקוד בתוך פונקציה אחת
C.ירושה
D.פולימורפיזם

28. מתי כדאי להשתמש בדפוס Singleton?

A.כשהצורך הוא באובייקט אחד בלבד
B.כשהשימוש במספר אובייקטים נדרש
C.כשהקוד מורכב מדי
D.כשהממשק לא ברור

29. נכון או לא נכון: ירושה מפשטת את התחזוקה של קוד?

A.נכון
B.לא נכון
C.תלוי במצב
D.לא ניתן לדעת

30. מה ההגדרה של עץ AVL?

A.עץ בינארי מאוזן עם הפרש גובה לא יותר מ-1
B.עץ שבו כל הקודקודים הם במספרים שלמים
C.עץ שבו יש רק שני ילדים לכל קודקוד
D.עץ בו הנתונים מסודרים בצורה אקראית

31. מה זה ממשק?

A.אוסף שיטות שכיתה חייבת ליישם
B.תבנית של נתונים
C.קונסטרוקטור מיוחד
D.שיטה למחיקת מופעים

32. מהו עקרון ה-SRP?

A.לכל מחלקה צריכה להיות אחריות אחת בלבד
B.מחלקות יכולות להיות מורכבות
C.הגדרת ממשקים דומים
D.שיתוף פעולה בין מחלקות

33. מה היתרון בשימוש בהיררכיה רחבה?

A.גישה נוחה למאפיינים משותפים
B.עלויות גבוהות יותר
C.מורכבות גבוהה יותר
D.אי נוחות בשימוש

34. מהי רשימה ממתינה (Queue)?

A.מבנה שבו הפריטים מוספים ומוסרים לפי סדר FIFO
B.מבנה שבו יש רק פריט אחד
C.מבנה נתונים המאפשר חיפוש מהיר
D.מערך ללא גודל קבוע

35. מהי קומפוזיציה?

A.שיטה שבה עצם אחד מכיל עצמים אחרים
B.מחיקת עצמים ישנים
C.הגדרה של כיתה חדשה
D.שיטה ליצירת מופע בודד

36. מה היתרון של דפוס עיצוב Observer?

A.מעקב אחרי שינויים באובייקט אחד
B.ייצוג מידע בצורה טובה יותר
C.הקטנת התלות בין אובייקטים
D.הגדלת המורכבות של המערכת

37. מה קורה כאשר מחלקת תת-מחלקה אינה מממשת מתודה מהמחלקה הבסיסית?

A.המתודה תופעל מהמחלקה הבסיסית
B.תת-מחלקה תיכשל בהפעלה
C.המתודה לא תהיה זמינה
D.תת-מחלקה תיצור גרסה חדשה

38. מה ההבדל בין חיפוש בינארי לחיפוש ליניארי?

A.חיפוש בינארי דורש סדרה ממוין
B.חיפוש ליניארי מהיר יותר
C.חיפוש בינארי אינו דורש השוואות
D.חיפוש ליניארי דורש סדרה ממוין

39. מהי תבנית עיצוב?

A.פתרון כללי לבעיה נפוצה בתכנות
B.שיטה לכתיבת קוד מהיר
C.תהליך של מחיקת נתונים
D.הגדרה של ממשק

40. איך עובד דפוס Strategy?

A.מאפשר להחליף אסטרטגיות במהלך ריצה
B.מגדיר אובייקטים קבועים
C.שומר על גישה לאובייקטים אחרים
D.מקטין את גמישות הקוד

41. איזה מהבאים אינו חלק מהיררכיה בתכנות מונחה עצמים?

A.מחלקת בסיס
B.תת-מחלקה
C.אובייקט
D.מופע

42. תן דוגמה לסוגי נתונים מותאמים אישית.

A.מעמדות (classes) ומבנים (structs)
B.רשימות מקושרות בלבד
C.מערכים חד ממדיים בלבד
D.רק משתנים בסיסיים

43. מה זה Destructor?

A.שיטה המופעלת כאשר מופע נהרס
B.שיטה לאתחול מופעים חדשים
C.שיטה ליצירת ממשק
D.שיטה להסתיר נתונים

44. מהו דפוס Builder?

A.מספק דרך לבנות אובייקטים מורכבים
B.יוצר אובייקטים פשוטים בלבד
C.מקטין את כמות הקוד
D.מצמצם את השימוש בפולימורפיזם

45. מהו תהליך הירושה?

A.העברת תכונות ממחלקת בסיס לתתי מחלקות
B.פיצול מחלקות לקטגוריות
C.הגדרת משתנים גנריים
D.יצירת קשרים בין מופעים

46. מהו גרף?

A.מבנה נתונים עם קודקודים וקשתות
B.מערך של מספרים
C.רשימה של פריטים
D.מבנה ליניארי

47. מה היתרון של תכנות מונחה עצמים?

A.קוד שניתן לתחזק ולשדרג בקלות
B.קוד שעובד רק פעם אחת
C.שיטה לכתיבת קוד מהיר בלי בדיקות
D.קוד שאי אפשר לשנות

48. מה ההגדרה של עקרון ה-LSP?

A.עקרון ה-Liskov Substitution Principle קובע שמחלקות משנות יכולות להחליף מחלקות בסיס מבלי לשבור את הקוד.
B.עקרון זה קובע שכל מחלקה חייבת להכיל לפחות שתי מתודות.
C.עקרון זה מתייחס רק לשימוש ב-Composition ולא בירושה.
D.עקרון זה קובע שיש ליצור אובייקטים רק במידה ויש להם ממשק ברור.

49. מה זו אבסטרקציה?

A.תהליך של הסתרת פרטים לא רלוונטיים
B.הגדרה של ממשק
C.שיטה ליצירת מופעים
D.מחיקת נתונים ישנים

50. מה נכון לגבי עצם?

A.עצם מכיל גם נתונים וגם שיטות
B.עצם יכול להכיל רק נתונים
C.עצם הוא פונקציה בלבד
D.עצם לא יכול להכיל שיטות

51. מהי שיטה שלא קיימת בתכנות מונחה עצמים?

A.שיטה ליצירת מבנים פשוטים
B.שיטה לירושה
C.שיטה לפולימורפיזם
D.שיטה להנחות קוד

52. מהו המונח המתאר את היכולת של כיתה לרשת מאפיינים מכיתה אחרת?

A.ירושה
B.אבסטרקציה
C.פולימורפיזם
D.אינקפסולציה

Related Study Sets

Create Your Own Study Set

Upload a PDF, paste your notes, or describe a topic – AI generates flashcards, quizzes and more in seconds.