נשלח בתאריך: 21 November 2011 בשעה 16:18 | | IP רשוּם
|
|
|
|
בס"ד
- א"א לרשת מכמה מחלקות, אלא מכמה interfaces.
- במקרה אותו אתה מציג אין הגיון לרשת ממחלקות כ"כ שונות מהותית - אדם ו ספר, אלא ליצור מחלקה שלישית ("ספריה", נניח), ובה מאפיין (משתנה, אובייקט) מסוג רשימה-מקושרת-ספר, ועוד אחד מסוג רשימה-מקושרת-שואל.
כדאי להבין טוב יותר את ההגיון שבמחלקות, וההגיון שבירושה.
מחלקה יורשת, היא כזו שיש לה קשר מהותי רעיוני למחלקת הבסיס, ולכן יש לה מאפיינים/שיטות זהים למחלקת הבסיס, ובמחלקה היורשת ישנם מאפיינים/מתודות נוספות על מחלקת הבסיס. למעשה הירושה היא כעין הרחבה של מחלקת הבסיס. (לא לחינם הירושה בשפת java נקראת הרחבה). למשל:
אם מחלקת הבסיס היא "רכב", מחלקה יורשת יכולה להיות "משאית". בשתיהן מאפיינים זהים: גלגלים, מנוע וכד'. לשתיהן מתודות זהות: התנע, עצור, החלף הילוך וכד'. ולכן מחלקת "משאית" יורשת את מחלקת הבסיס "רכב", ומוסיפה-מרחיבה דברים שייחודיים למשאית, כגון: מנוף (מאפיין) והרמת משאות (מתודה). (וכמובן, גם המתודות הזהות לכאורה, אינן זהות לחלוטין. שהרי החלפת הילוך של מכונית שונה מהחלפת הילוך של משאית. ולכן ניתן להשתמש במתודות עם אותו שם, אך שונות במימוש, כלומר בתוכן. נושא קצת יותר מתקדם.)
עכשיו - קרא שוב את סעיף 2 בתחילת תגובתי.
מקוה שעזרתי, ובהצלחה!
__________________ אין יאוש בעולם כלל!
|