quiz 10

מנהל: The Architect

נעול
eladrai
הודעות: 55
הצטרף: 11:51 06/12/2008

quiz 10

שליחה על ידי eladrai » 21:09 06/03/2009

שלום...
מתרגל\יורי\לא יורי יקר,
אשמח לתשובה מפורטת על שאלות 13,14,18 בבוחן זה...
תודה!
באמת שלא הבנתי!
עד מתי דו חוגי

yurib
הודעות: 207
הצטרף: 18:30 19/11/2008

שליחה על ידי yurib » 16:41 07/03/2009

13: הקוד מנסה לעשות קאסטינג של אובייקט מטיפוס D לאובייקט מטיפוס C, שני הטיפוסים האלו אמנם יורשים מאותה מחלקת על אך בינהם לא קיים שום יחס של הורשה, הם "אחים" והשמה כזו אינו חוקית לכן הקוד לא יתקמפל.
14: פה הקוד מבצע השמה של אובייקט מטיפוס B לאובייקט מטיפוס D, D יורש מ B, כלומר B הוא כללי יותר, בתיאוריה יתכן מצב בו מצביע מטיפוס B יצביע על אובייקט שהוא בפועל D לכן הקומפיילר מאפשר את זה ולא זורק שום הודעת שגיאה. אך שים לב מה קורה כשהקוד רץ, b מאותחל כ B, לכן הוא באמת מצביע על אובייקט מסוג B וההשמה נכשלת.
18: מחלקה אבסטקרטית היא פשוט מחלקה שאינה מממשת את כל השיטות שמוגדרות בה, היא מטילה את האחריות הזאת על המחלקות היורשות. אנחנו יכולים לכתוב מחלקה יורשת שתמממש את כל הקוד ולכן תהיה מחלקה רגילה, אך אנחנו יכולים גם לכתוב מחלקה יורשת שתמממש רק חלק מהנדרש ותשאיר את הנותר באחריות מחלקה שתירש ממנה ואז היא תהיה עדיין אבסטרקטית, לכן "מחלקת בת" של מחלקה אבסטרקטית יכולה להיות מחלקה "רגילה" או מחלקה אבסטרקטית בעצמה.

נעול

חזור אל “- מבוא למדעי המחשב”