עבור לתוכן

c# הורשה-עזרה בפתרון שאלה מבגרות שעברה.

Featured Replies

פורסם

שלום לכולם!

אני לומד עכשיו על הורשה וכל מה שקשור לנושא,אבל לא הבנתי את זה לעומק. לכן אני עברתי על שאלת בגרות (2 השלמה ל-5) שהיא מסכמת בדיוק את כל מה שלא הבנתי בהורשה. אני אודה לכם אם תעזרו לי להבין את הפתרון. השאלה -היא מתחילה בעמוד 45 לפי הספירה של ה-PDF.

פתרון של האתר KADMAN -מתחיל בעמוד 21.

הבנתי את סעיפים א ו- ב חוץ מהשורה הזאת(מהפתרון):return obj is AA && ((AA)obj).GetSt().Equals(this.GetSt());לא הבנתי למה צריך לכתוב את ה-AA הזה ליד OBJ...

אחרי ב- כמעט ולא הבנתי. בעיקר לא הבנתי מה קורה כשעושים את ההצבה : a=b/bb=aa.

מצטער על החפירות... מקווה שתעזרו בכל זאת. :nixweiss:

תודה מראש :xyxthumbs:

פורסם

הטיפוס של הפרמטר obj הוא Object, ולכן אין גישה ממנו לפונקציות של המחלקה AA (דהיינו, אם תנסה לעשות ()obj.GetSt תקבל שגיאת קומפילציה). על מנת לגשת לפונקציות של AA, צריך קודם כל להמיר את האובייקט לטיפוס הנכון, וזה מה ש-(AA(obj)) עושה.

פורסם
  • מחבר

אוקיי, את זה הבנתי.

בנוגע לשאלה הראשונה שלי- אם אתה יכול תסתכל שנייה בסעיף ג'.

נעשית הצבה של אובייקט מחלקה נגזרת(b) באובייקט מחלקת בסיס(a), הפעולות שאני אפעיל על a ילקחו מהמחלקה AA או המחלקה BB??

פורסם

קודם כל, שים לב ש-a הוא משתנה מטיפוס AA המצביע לאובייקט מטיפוס BB.

הפונקציה IsLike מוגדרת ב-AA כ-virtual, וב-BB כ-override. זה אומר שכשעושים a.IsLike אז הפונקציה הנקראת היא לפי טיפוס האובייקט של a (שהוא כאמור BB), דהיינו תקרא הפונקציה של BB ולא של AA.

פורסם
  • מחבר

תודה, הבנתי עכשיו :xyxthumbs: .

שאלה נוספת ברשותך... מה היה קורה אם הייתי מציב אובביקט של המחלקה AA במשתנה מסוג מחלקה אחרת שלא קשורה למחלקות האלה? האם ההצבה תתאפשר(שכן משתנה זה הוא מתיפוס הפניה/reference types שרק מפנה לתא בזכרון בו נמצא המידע.) או לא?

פורסם

אפשר להציב אובייקט מטיפוס X במשתנה מטיפוס Y רק אם X יורש מ-Y במישרין או בעקיפין (או מממש את Y, אם Y הוא interface).

לדוגמה, אם תנסה להציב אובייקט מטיפוס AA במשתנה מטיפוס BB אז זה לא יתקמפל, כי AA לא יורש מ-BB. הכיוון ההפוך כן יתקמפל, כי BB יורש מ-AA.

חשוב לזכור שכל אובייקט יורש בסופו של דבר מהמחלקה Object.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים