תוכן העניינים[להתחבא][הופעה]
- 1. מהו בעצם תכנות מונחה עצמים?
- 2. מדוע נחוצים OOPs?
- 3. אילו יתרונות מציעים עקרונות OOPS?
- 4. מהם עמודי התווך של תפיסת OOPs?
- 5. מה זה בעצם כיתה?
- 6. מהו בעצם חפץ?
- 7. מהן המגבלות של OOPs?
- 8. מהי ירושה?
- 9. מה זה בעצם אנקפסולציה?
- 10. מהו פולימורפיזם?
- 11. מה זה בעצם הפשטה?
- 12. מה זה בעצם עומס יתר בשיטה?
- 13. מהי בעצם עוקפת השיטה?
- 14. מה זה בעצם מעמד על?
- 15. מהי בעצם תת-מעמד?
- 16. מהו בעצם פולימורפיזם סטטי?
- 17. מהו בעצם פולימורפיזם דינמי?
- 18. תאר את הרעיון של קונסטרוקטור.
- 19. מה הם בעצם משנות הגישה?
- 20. מה זה בעצם הורס?
- 21. מהי בעצם תורשה כלאיים?
- 22. מהי בעצם ירושה היררכית?
- 23. מהם החסרונות בירושה?
- 24. מהו בעצם חריג?
- 25. מהו בעצם טיפול חריג, ומה היתרונות שלו?
- 26. מהן בעצם פונקציות וירטואליות?
- 27. מהי בעצם פונקציית החבר?
- 28. מה זה בעצם איסוף זבל?
- 29. מה זה בדיוק צימוד?
- 30. מהי בעצם לכידות?
- 31. תאר בלוק נסה/תפוס.
- 32. תאר בלוק אחרון.
- 33. מהו בעצם ממשק?
- 34. מה זה בעצם קומפוזיציה?
- 35. מה זה בעצם שרשור קונסטרוקטור?
- סיכום
אחת מפרדיגמות התכנות המשפיעות ביותר נקראת OOPs, או תכנות מונחה עצמים. במקום פונקציות ותהליכים, הוא מדגיש מחלקות ואובייקטים.
המטרה העיקרית שלו היא לחבר נתונים ודברים כך שיהיה פשוט יותר לעבוד איתם. כל אובייקט ב-OOPs מורכב מקוד בצורה של פרוצדורות או שיטות ונתונים בצורה של שדות.
שפות כמו C++, Objective C, Python, Perl ו-Java הן חלק מהשפות הפופולריות ביותר מונחה עצמים שפות תכנות.
זה קריטי להבין יותר על זה שכן שאלות ראיון אופס הן אופייניות ביותר. רוב החברות מחפשות מהנדסים שמכירים שיטות ודפוסים מונחה עצמים. לכן, אם אתה מתכוון להשתתף בראיון, אתה חייב להיות בקיא ברעיונות OOP.
שאלות שונות לראיון תכנות מונחה עצמים מרמות מתחילים ועד מומחים יוצגו בפוסט זה. לכן אתה יכול לעבור כל רמה של ראיון ולהבטיח את משרת החלומות שלך.
1. מהו בעצם תכנות מונחה עצמים?
תכנות מונחה עצמים (OOPs) מבוסס על אובייקטים בפועל ולא רק על פונקציות ותהליכים. השיעורים נוצרים עבור מוצרים בודדים.
ירושה, פולימורפיזם והסתרה הם דוגמאות למושגים בעולם האמיתי ש-OPS משלבים בתכנות. זה גם מאפשר לחבר נתונים וקוד.
2. מדוע נחוצים OOPs?
ישנן מספר סיבות מדוע OOPs עדיפות, עם זאת, הבאות הן החשובות ביותר:
- OOPs, מאפשרים לאנשים להבין בקלות תוכנה גם אם הם לא מכירים את היישום.
- אופס, שפר את קריאת הקוד, ההבנה והתחזוקה בפקטור של עשרה.
- באמצעות OOPs, אפילו יישומים גדולים במיוחד ניתן לבנות ולשלוט בפשטות.
3. אילו יתרונות מציעים עקרונות OOPS?
- OOPS, אובייקטי תכנות מדמים אובייקטים מהעולם האמיתי, מפחיתים את המורכבות ומשפרים את בהירות התוכנית.
- ניתן להשתמש באובייקטים שוב ושוב בתוכניות רבות.
- כל אובייקט יוצר ישות מובחנת שפעולותיה הפנימיות אינן תלויות ברכיבי מערכת אחרים.
- על ידי הצגת מספר אובייקטים חדשים ועדכון של כמה אובייקטים שכבר קיימים, ניתן להוסיף פונקציונליות חדשה או להתאים את עצמם לתנאי הפעלה משתנים.
- התהליכים או ייצוג הנתונים של תוכנית OOPs יכולים לעבור בקלות התאמות קטנות.
4. מהם עמודי התווך של תפיסת OOPs?
להלן עמודי התווך העיקריים של OOP:
יְרוּשָׁה: זה מאפשר למחלקות לרשת את התכונות של מחלקה אחרת.
כימוס: זה מוגדר כמאפיין אובייקט שמסתיר מידע קריטי. זה שומר את הנתונים מוסתרים מחברי הכיתה. המפרטים מתארים כיצד ניתן לגשת לתכונת האובייקט בקוד.
פולימורפיזם: זה מאפשר לך לבצע פעילות בודדת בכמה דרכים. זה מתבצע באמצעות ממשקים, שבהם אנו מצהירים על ממשק אחד שיושם לאחר מכן מספר פעמים.
הפשטה: אתה יכול להשתמש בפונקציה זו כדי להסתיר מידע קריטי מהעולם החיצון ולהציג רק את העובדות החיוניות.
5. מה זה בעצם כיתה?
מחלקה היא אב טיפוס המורכב מאובייקטים במצבים שונים ובעלי התנהגויות שונות. יש לו מספר שיטות המשותפות לאובייקטים באותה מחלקה.
6. מהו בעצם חפץ?
אובייקט הוא ישות בעולם האמיתי המשמשת כיחידה הבסיסית של OOPs, כגון כיסא, חתול או כלב. לאובייקטים שונים יש מצבים, תכונות ופעולות שונות.
7. מהן המגבלות של OOPs?
- הגודל גדול יותר מזה של יישומים אחרים.
- זה דורש קצת להתרגל.
- סוגים מסוימים של בעיות לא מחייבות את זה.
- זה היה עתיר עבודה ליצור, ובהשוואה ליישומים אחרים, זה פועל לאט יותר.
8. מהי ירושה?
מושג שנקרא ירושה מתייחס לשיתוף המבנה וההתנהגות המבוססים של כיתה על ידי כיתה אחרת. כאשר ירושה מוחלת על מחלקה יחידה, היא מכונה ירושה יחידה; כאשר זה תלוי במחלקות רבות, זה מכונה ירושות מרובות.
9. מה זה בעצם אנקפסולציה?
הרעיון של OOPs כולל גם אנקפסולציה. הוא מתאר את השילוב של נתונים וטכניקות מניפולציה של נתונים. בנוסף, הוא מסייע במניעת גישה ישירה לחלקים מסוימים של חפץ.
10. מהו פולימורפיזם?
בשפות OOP, פולימורפיזם הוא מושג בסיסי. זה מראה כיצד מחלקות שונות עשויות לחלוק ממשק. כל המחלקות הללו מסוגלות להטמיע ממשק ייחודי.
11. מה זה בעצם הפשטה?
הפשטה היא מושג תכנות מונחה עצמים (OOPs) המשמש ליצירת מבנה של אובייקטים בעולם האמיתי. הוא "מציג" רק את התכונות החשובות ביותר ו"מסתיר" מידע זר מהעולם החיצון. המטרה הבסיסית של הפשטה היא להגן על אנשים מפני מידע מיותר.
12. מה זה בעצם עומס יתר בשיטה?
ייתכן שלשני הליכים או יותר יהיה אותו שם. עם זאת, הם צריכים להיות בעלי פרמטרים נפרדים, מספרים שונים של פרמטרים, סוגים נפרדים או שניהם. אלה ידועות בתור שיטות עומס יתר, והתכונה ידועה בתור עומס יתר של שיטות.
13. מהי בעצם עוקפת השיטה?
תכנות מונחה עצמים כולל את הרעיון של עקיפה של השיטה. זוהי תכונת שפה המאפשרת לתת-מחלקה או כיתת ילד להציע יישום מותאם אישית של שיטה שאחת ממחלקות העל או מחלקות האב שלה כבר מספקת.
14. מה זה בעצם מעמד על?
מחלקה-על, הידועה לרוב כמעמד בסיס, היא סוג של מחלקה הפועלת כהורה של מחלקה או מחלקות אחרות. למחלקת רכב, למשל, יש תת-מחלקה הנקראת רכב.
15. מהי בעצם תת-מעמד?
תת מחלקה היא תת מחלקה של מחלקה אחרת. טנדר, למשל, הוא תת-מחלקה לרכב או מחלקה נגזרת.
16. מהו בעצם פולימורפיזם סטטי?
בזמן הידור, מתרחש סוג של פולימורפיזם המכונה פולימורפיזם סטטי (קישור סטטי). עומס יתר בשיטה הוא סוג של פולימורפיזם בזמן הידור.
17. מהו בעצם פולימורפיזם דינמי?
סוג של פולימורפיזם שנפתר בזמן ריצה נקרא פולימורפיזם בזמן ריצה, הידוע גם בשם פולימורפיזם דינמי (קישור דינמי). התגברות השיטות היא המחשה של פולימורפיזם בזמן ריצה.
18. תאר את הרעיון של קונסטרוקטור.
בנאי הוא שיטה ספציפית של מחלקה שנקראת אוטומטית כאשר מופע מחלקה נוצר. כאשר אתה ניגש למחלקה, הוא נבנה באותו שם כמו המחלקה ומאתחל את כל החברים בה. המאפיינים העיקריים של בנאי הם כדלקמן:
אין סוג החזרה עבור בנאים.
עומס יתר על בנאים אפשרי.
אין צורך לציין בנאי; the.NET Framework יעשה זאת באופן אוטומטי.
19. מה הם בעצם משנות הגישה?
בשפות מונחות עצמים, מילות מפתח הן משיני גישה או מפרטי גישה. זה מסייע בתצורה של מחלקות, שיטות ונגישות של חברים אחרים.
20. מה זה בעצם הורס?
Destructor הוא שיטה לשחרור המשאבים שהוקצו לאובייקט. כאשר אובייקט מושמד, שיטה זו נקראת אוטומטית.
21. מהי בעצם תורשה כלאיים?
ירושה היברידית היא מעין ירושה שנוצרת על ידי ערבוב של מספר צורות של ירושה כגון יחיד, מרובה וכן הלאה.
22. מהי בעצם ירושה היררכית?
תת-מחלקות מרובות יורשות ממחלקת אב במצב של ירושה היררכית. מעין ירושה שבה מחלקות רבות יורדות מהורה יחיד או ממעמד בסיס ידוע בתור ירושה היררכית. לדוגמה, מחלקת הפרי יכולה להכיל תת-מחלקות כגון 'תפוח', 'מנגו', 'בננה', 'דובדבן' וכן הלאה.
23. מהם החסרונות בירושה?
זה מאריך ומסבך את תהליך הביצוע. זה גם מחייב מעבר בין מחלקות שונות. כיתות ההורה והילד תמיד קשורות קשר בל יינתק.
שינויים בתוכנית הלימודים יחייבו שינויים הן עבור ההורה והן עבור הכיתה של הילד. יש ליישם ירושה בזהירות אחרת התוצאות יהיו שגויות.
24. מהו בעצם חריג?
חריג הוא אירוע שמפריע לפעולה הרגילה של הקוד. כדי להמשיך בביצוע, אתה יכול לטפל בחריגים אלה ב-Java. ב-Java, ישנם סוגים רבים של חריגים מוגדרים מראש, וטיפול בחריגים מסופק כדי לשלוט בחריגים שהועלו באמצעות בלוקים של try-catch.
25. מהו בעצם טיפול חריג, ומה היתרונות שלו?
השיטה החשובה ביותר ב-Java להתמודדות עם כשלים בלתי צפויים בזמן ריצה היא טיפול בחריגים. זה מאפשר לך לשלוט על שגיאות זמן ריצה המתעוררות במהלך הפעלת התוכנית.
היתרונות של טיפול בחריגים כוללים את היכולת לשמור על זרימת תוכנית סדירה תוך ניהול חריגים. לדוגמה, אם מתרחשת שגיאה בחלק אחד של התוכנית, לא תהיה לה השפעה על שאר התוכנית אם נטפל בחריג עם בלוקים של try-catch.
26. מהן בעצם פונקציות וירטואליות?
פונקציות וירטואליות נכללות גם הן בפונקציות של מחלקת האב והן עוקפות על ידי תת המחלקה. שגרות אלו מסייעות בהשגת פולימורפיזם בזמן ריצה.
27. מהי בעצם פונקציית החבר?
פונקציית חבר היא פונקציה השייכת למחלקה ומותרת גישה לנתונים הציבוריים, הפרטיים או המוגנים שלה. אם הפונקציה מוגדרת מחוץ למחלקה, לא ניתן לאחזר נתונים אלו. מילות המפתח של בקרת הגישה פרטיות, ציבוריות ומוגנת אינן משפיעות על הצהרת חבר, שניתן להשמיע בכל מקום בהצהרת הכיתה.
28. מה זה בעצם איסוף זבל?
איסוף זבל (GC) הוא מרכיב בשפות תכנות כמו C# ו-Java המשמש כמערכת לשחזור זיכרון. מנוע איסוף זבל (GC) הוא רכיב של שפת תכנות המאפשר שחרור אוטומטי של שטח זיכרון עבור אובייקטים שהאפליקציה כבר לא משתמשת בהם.
29. מה זה בדיוק צימוד?
זה מתייחס למצבים שבהם כיתות שונות מסתמכות זו על זו וחולקות ידע. קשר חזק מתרחש כאשר לכיתה אחת יש ידע מפורט על מחלקה אחרת. אתה יכול לציין את הנראות של מחלקות, שיטות או משתנים באמצעות משנה גישה. ממשקים משמשים כדי לספק צימוד חלש יותר.
30. מהי בעצם לכידות?
הדרך שבה רכיב מבצע פעילות מסוימת מכונה הלכידות שלו. גישה חזקה ומגובשת פשוט תבצע את המשימה שהוגדרה, בעוד שיטה חלשה ומגובשת תחלק את המשימה הבודדת למספר משימות קטנות יותר ולאחר מכן תסיים אותן.
חבילת Java.io די קוהרנטית, אך חבילת java.util לא.
31. תאר בלוק נסה/תפוס.
כאשר תוכנית נתקלת בשגיאה עקב קוד או נתונים שגויים, "נסה" ו"תפוס" מציינים כיצד לנהל אותה. בלוק try הוא השם של החלק בקוד כאשר מתרחשים חריגים. בלוק תפס משמש כדי ללכוד ולהתמודד עם חריגים מבלוקים לנסות.
32. תאר בלוק אחרון.
חלק הקוד העובד של מילת המפתח נסה מצוין אחרון. זה מייעד את הקוד שתמיד רץ מיד לאחר הניסיון וכל חסימות תפיסה לפני השלמת השיטה. החסימה האחרונה מופעלת תמיד בין אם נזרק חריג או נתפס.
33. מהו בעצם ממשק?
ממשק הוא שילוב של שיטות מופשטות וסוג נתונים המוגדר על ידי המשתמש. מחלקה מיישמת ממשק, יורשת את הפונקציות המופשטות של הממשק.
מחלקה מייצגת את המאפיינים והתנהגויות של אובייקט, בעוד שממשק כולל את ההתנהגויות שמחלקה מיישמת. הממשק מייצג "מה", ואילו הכיתה משדרת "איך".
34. מה זה בעצם קומפוזיציה?
ניתן להשתמש בהרכב כדי להשיג חיבור. הוא מדגים קשר חזק בין האובייקטים התלויים והעצמאיים, בניגוד לצבירה. האובייקט התלוי אינו קיים בנסיבות אלה והוא יוסר אם אובייקט האב יימחק.
35. מה זה בעצם שרשור קונסטרוקטור?
שרשרת קונסטרוקטור היא טכניקה לקריאה של בנאי אחד מהאחר ביחס להפניית האובייקט הנוכחית. ישנן שתי אפשרויות:
- ניתן להפנות לבנאי במחלקה הנוכחית באמצעות מילת המפתח "זה".
- מילת המפתח "סופר" תשמש כדי להפעיל את הבנאי ממחלקת הבסיס.
סיכום
תכנות מונחה עצמים מחייב חשיבה על מבנה התוכנית והיערכות מבעוד מועד. בחינת כיצד לחלק את הדרישות למחלקות בסיסיות לשימוש חוזר שניתן להשתמש בהן ליצירת מופעים של דברים.
בסך הכל, אימוץ OOP מספק שיפור מבני מידע ושימוש חוזר, החוסך זמן בטווח הארוך. לִרְאוֹת סדרת הראיונות של השדורק לעזרה בהכנה לראיון.
השאירו תגובה