5
क्या हम रणनीति पैटर्न और निर्भरता इंजेक्शन का उपयोग करके विरासत को पूरी तरह से बदल सकते हैं?
उदाहरण के लिए: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) चूंकि बत्तख वर्ग में सभी व्यवहार (सार) होते हैं, एक नया वर्ग MallardDuck(जो फैलता है Duck) बनाना आवश्यक नहीं लगता है। संदर्भ: हेड फर्स्ट डिज़ाइन पैटर्न, अध्याय १।