रचना एक डिज़ाइन तकनीक है जिसमें आपकी कक्षा में आपकी कक्षा के क्षेत्र के रूप में किसी अन्य वर्ग का उदाहरण हो सकता है। वंशानुक्रम एक ऐसा तंत्र है जिसके तहत एक वस्तु एक वर्ग का विस्तार करके मूल वस्तु के गुणों और व्यवहार को प्राप्त कर सकती है।
रचना और वंशानुक्रम दोनों संबंधित वर्ग द्वारा कोड पुन:प्रयोज्य प्रदान करते हैं। जब आप रचना का उपयोग करते हैं तो हम विरासत की कार्यक्षमता भी प्राप्त कर सकते हैं। नीचे अंतर हैं।
Sr. नहीं. | कुंजी | विरासत | रचना |
---|---|---|---|
1 | बेसिक | विरासत एक "एक है" संबंध है | रचना एक "has-a" है। संबंध |
2 | कोड पुन:उपयोग | इनहेरिटेंस में, एक क्लास लेस केवल एक इंटरफ़ेस का विस्तार कर सकता है, इसलिए, आप केवल एक क्लास में ही अपने कोड का पुन:उपयोग कर सकते हैं। | हम कई वर्गों में कोड का पुन:उपयोग कर सकते हैं |
3 | स्कोप | संकलन समय पर वंशानुक्रम अपनी विशेषताएं प्रदान करता है | रनटाइम पर संरचना आसानी से प्राप्त की जाती है |
4 | अंतिम | हम अंतिम वर्ग से कोड का पुन:उपयोग नहीं कर सकते हैं | यह अंतिम कक्षाओं से भी कोड के पुन:उपयोग की अनुमति देता है |
5 | तरीके | यह मूल वर्ग की सार्वजनिक और संरक्षित विधि दोनों को उजागर करती है | यह उजागर नहीं करता है। वे सार्वजनिक इंटरफेस का उपयोग करके बातचीत करते हैं। |
विरासत का उदाहरण
class Animal{ String name="Orio"; } class Dog extends Animal{ String type="Dog"; public static void main(String args[]){ Dog p=new Dog(); System.out.println("Name:"+p.name); System.out.println("Type:"+p.type); } }
संरचना का उदाहरण
public class Student { } public class College { private Student student; public College() { this.student = new Student(); } }