कंपोजिशन ओव्हर इनहेरिटन्स एक व्यापकपणे उद्धृत डिজाइन तत्व आहे — ऑब्जेक्ट्स बिल्ड करण्यास वर्तनांचे संयोजन (कंपोजिशन) वापरून बेस क्लासमधून इनहेरिट करण्याऐवजी (इनहेरिटन्स). इनहेरिटन्सला महत्त्वपूर्ण अडचणी आहेत जी कंपोजिशन टाळते, तरी दोघांचाही विशिष्ट उपयोग आहे.
इनहेरिटन्स बनाम कंपोजिशन
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
