التركيب على الوراثة هو مبدأ تصميم مشهور جداً — يفضّل بناء الكائنات من خلال دمج السلوكيات (composition) بدلاً من الوراثة من الفئات الأساسية (inheritance). الوراثة لها عيوب كبيرة يتجنبها التركيب، على الرغم من أن كليهما لهما مكانهما.
الوراثة مقابل التركيب
INHERITANCE → a class EXTENDS another, inheriting its behavior ("IS-A" relationship):
class Dog extends Animal
COMPOSITION → a class is BUILT FROM other objects/behaviors ("HAS-A" / uses):
class Car { constructor() { this.engine = new Engine(); } } // composes behaviors
→ composition: combine smaller pieces; inheritance: derive from a parent
