Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Java

Java में इनहेरिटेंस और कंपोजिशन के बीच अंतर


कंपोजिशन एक डिज़ाइन तकनीक है जिसमें आपकी क्लास में दूसरी क्लास का इंस्टेंस आपकी क्लास के फील्ड के रूप में हो सकता है। इनहेरिटेंस एक मैकेनिज्म है जिसके तहत एक ऑब्जेक्ट क्लास को एक्सटेंड करके पैरेंट ऑब्जेक्ट के गुण और व्यवहार प्राप्त कर सकता है।

कंपोजिशन और इनहेरिटेंस दोनों क्लास को संबंधित करके कोड रीयूजेबिलिटी प्रदान करते हैं। जब आप कंपोजिशन का उपयोग करते हैं तो आप इनहेरिटेंस की कार्यक्षमता भी प्राप्त कर सकते हैं। नीचे अंतर दिए गए हैं।

क्र. सं. मुख्य बिंदु इनहेरिटेंस कंपोजिशन
1 बुनियादी इनहेरिटेंस एक "is-a" रिलेशनशिप है कंपोजिशन एक "has-a" रिलेशनशिप है
2 कोड रीयूज इनहेरिटेंस में, एक क्लास केवल एक इंटरफेस को एक्सटेंड कर सकती है, इसलिए, आप अपने कोड को केवल एक क्लास में ही रीयूज कर सकते हैं हम मल्टीपल क्लास में कोड रीयूज कर सकते हैं
3 स्कोप इनहेरिटेंस अपनी सुविधाएं कंपाइल टाइम पर प्रदान करता है कंपोजिशन रनटाइम पर आसानी से प्राप्त होता है
4 Final हम final क्लास से कोड रीयूज नहीं कर सकते यह final क्लास से भी कोड रीयूज की अनुमति देता है
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(); 
    } 
}

  1. - जावा में Thread और Runnable के बीच अंतर

    थ्रेड एक्जीक्यूशन का नया थ्रेड बनाने के दो तरीके हैं। एक है Thread क्लास का सबक्लास घोषित करना। इस सबक्लास को Thread क्लास के run मेथड को ओवरराइड करना चाहिए। सबक्लास का इंस्टेंस तब एलोकेट और स्टार्ट किया जा सकता है। थ्रेड बनाने का दूसरा तरीका है Runnable इंटरफेस को इम्प्लीमेंट करने वाली क्लास घोषित

  1. - जावा में Exception और Error के बीच अंतर

    Exceptions और Errors दोनों Throwable क्लास के सबक्लास हैं। Error एक ऐसी समस्या को इंगित करता है जो मुख्य रूप से सिस्टम रिसोर्सेज की कमी के कारण होती है और हमारे एप्लिकेशन को इस प्रकार की समस्याओं को नहीं पकड़ना चाहिए। Errors के कुछ उदाहरण हैं: सिस्टम क्रैश एरर और आउट ऑफ मेमोरी एरर। Errors ज्यादातर र

  1. - जावा में Serialization और Externalization के बीच अंतर

    Serialization और Externalization दोनों ऑब्जेक्ट को बाइट स्ट्रीम में बदलने और बाइट स्ट्रीम को डेटाबेस या मेमोरी में स्टोर करने की प्रक्रियाएं हैं। जो क्लास java.io.Serializable इंटरफेस को इम्प्लीमेंट करती है उसे सीरियलाइज किया जा सकता है। दूसरी ओर, Externalization एप्लिकेशन में आवश्यकता के आधार पर कस