שיעור 6: הרכבה לפני ירושה
public class Car : Engine נראה כמו קיצור דרך נוח — עד שמגלים שכל מתודה של המנוע דולפת אל הרכב, שכל שינוי במנוע שובר את הרכב, ושרכב עם שני סוגי מנוע כבר בלתי אפשרי. בשיעור הזה נחליף את הירושה בשדה: הרכב יחזיק מנוע במקום להיות אחד — ונרוויח גמישות בלי היררכיה שבירה.
הרכבה היא כמו ארגז כלים: במקום להיוולד 'איש-פטיש', בעל מקצוע מחזיק פטיש ומחליף אותו כשצריך. ירושה מלחימה את הפטיש ליד לתמיד.
- הרכבה לפני ירושה
- כשהיחס האמיתי הוא 'יש ל־', מחזיקים את האובייקט כשדה פרטי ומאצילים אליו — במקום לרשת ולסחוב היררכיה שבירה ו-API דולף.
- יחס 'יש ל־' (has-a)
- יחס שבו אובייקט מחזיק אובייקט אחר כשדה ומשתמש בו — בניגוד ל'הוא סוג של' (is-a), שבו מחלקה יורשת וטוענת להיות סוג של הבסיס.