קשר של ירושה בין שתי מחלקות

קשר של ירושה בין שתי מחלקות

נניח שיש לנו שתי מחלקות : X ו-Y , ונניח שנתון קטע הקוד הבא:
קוד:
Y y;
X &x = y;

מדוע נובע שכך שמחלקה Y יורשת את מחלקה X ?
 

BravoMan

Active member
מי אמר לך שזה נובע?

אולי הקוד הזה בכלל לא מתקמפל?
&nbsp
מה בעצם הקוד הזה אומר? האם תוכל לכתוב זאת בעברית (או באנגלית).
 

BravoMan

Active member
אז מה הקוד אומר בעצם?

מה מנסים לעשות עם המשתנה y?
 

BravoMan

Active member
וזה בדיוק למה אני לא רוצה להכתיב לך את התשובה

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

BravoMan

Active member
אתה קרוב:

זו אכן הדגמה של פולימורפיזם, אבל לא מייצרים כאן שום אובייקט.
&nbsp
המשתנה x יכול להכיל רפרנס (ייחוס), לאובייקט מסוג X ורק מסוג X.
אבל בקוד מנסים להכניס אליו אובייקט מסוג Y.
&nbsp
אז אתה צריך לשאול את עצמך: איך זה מתקמפל? הרי X ו-Y הם סוגים שונים.
זה אמור להיות כמו להכניס קובייה לחור עגול עבור כדור.
&nbsp
אובכן, הסיבה שזה עובד היא שמשמעות Y יורש מ-X היא ש-Y הוא גם X.
בגלל ש-Y הוא גם X, כל משתנה שיכול להחזיק ייחוס ל-X יכול להחזיק גם ייחוס ל-Y.
&nbsp
אם Y לא היה יורש מ-X, הוא לא היה נכנס.
 
למעלה