वर्गों, वस्तुओं और उदाहरणों के बीच का अंतर


जवाबों:


89

जावा (और किसी भी अन्य प्रोग्रामिंग भाषा) को प्रकारों और मूल्यों के संदर्भ में बनाया गया है । सैद्धांतिक स्तर पर, एक मूल्य सूचना के कुछ मात्रा के लिए एक प्रतिनिधित्व है, और एक प्रकार मूल्यों का एक सेट है। जब हम कहते हैं कि मूल्य X टाइप Y का एक उदाहरण है, तो हम केवल यह कह रहे हैं कि X मानों के समूह का एक सदस्य है जो कि टाइप N है।

तो यह है कि शब्द "उदाहरण" वास्तव में इसका मतलब है: यह एक रिश्ते का वर्णन करता है न कि एक चीज का।

जावा प्रोग्रामिंग भाषा की प्रकार प्रणाली दो प्रकार के प्रकार, आदिम प्रकार और संदर्भ प्रकार का समर्थन करती है । संदर्भ प्रकारों को आगे वर्गों और सरणी प्रकारों में विभाजित किया गया है । एक जावा ऑब्जेक्ट एक संदर्भ प्रकार का एक उदाहरण है।

एक वस्तु एक श्रेणी उदाहरण या एक सरणी है। ( जेएलएस 4.3.1 )

यह प्रकार का सिद्धांत है।

व्यवहार में, अधिकांश जावा डेवलपर्स शब्द "उदाहरण" और "ऑब्जेक्ट" को समानार्थक मानते हैं। (और इसमें मुझे शामिल किया गया है, तो मैं जल्दी से कुछ समझाने की कोशिश कर रहा हूं।) और अधिकांश डेवलपर्स एक आदिम प्रकार के उदाहरण को संदर्भित करने के लिए "उदाहरण" के बजाय "मूल्य" शब्द का उपयोग करते हैं।


3
मैं वास्तव में आपके उत्तर की सराहना करता हूं सर, और मुझे लगभग मिल गया, बस एक और सवाल। हम कहते हैं- "जब भी कंपाइलर 0 लॉजिक कंस्ट्रक्टर को हिट करता है तो यह एक क्लास का उदाहरण बनता है।" इस संदर्भ में वास्तव में एक उदाहरण या वस्तु क्या है? एक वस्तु जिसका मुझे अनुमान है और हम पर्यायवाची के रूप में "उदाहरण" शब्द का उपयोग करते हैं। लेकिन यदि आप बेहतर तरीके से इसकी पुष्टि करते हैं तो यह पसंद आएगा।
प्रंजुत

3
@Ryan: मूल रूप से हाँ: यह एक ऐसी वस्तु का निर्माण कर रहा है, जो विचाराधीन कक्षा का एक उदाहरण है। (लेकिन ध्यान दें कि उद्धृत वाक्य "उदाहरण के बजाय" एक वर्ग का उदाहरण "कह रहा है ... इसलिए लेखक वास्तव में" उदाहरण "का यहां एक पर्याय के रूप में उपयोग नहीं कर रहा है।)
स्टीफन सी

1
@RuneFS - मैं जिस "मॉडलिंग" की बात कर रहा हूँ, वह प्रतिनिधित्व के बारे में नहीं है। यह सैद्धांतिक है। हाँ, कुछ भाषाओं में ऐसी वस्तुएँ होती हैं जो प्रकारों को निरूपित करती हैं, या यहाँ तक कि आपको एक प्रकार के सभी उदाहरणों की गणना करने की अनुमति देती हैं। लेकिन उन गुणों ने इसे अमान्य करने के बजाय सामान्य "मॉडलिंग" को बढ़ाया।
स्टीफन सी

1
@RuneFS - नहीं ... मैं "टाइप थ्योरी" के बारे में बात कर रहा हूँ। यह गणित की एक शाखा है। यह उस तकनीक से स्वतंत्र है जिसका उपयोग कार्यक्रमों को चलाने के लिए किया जाता है। गणना करने के लिए निकटतम निकटतम सिद्धांत लैम्बडा कैलकुलस है। (यदि आप रुचि रखते हैं, तो कोशिश करें और बेंजामिन सी। पियर्स द्वारा "टाइप्स एंड प्रोग्रामिंग लैंग्वेजेस" की एक प्रति प्राप्त करें।)
स्टीफन सी

1
आप जैसी गलती कर रहे हैं user2390183। आप चर को "नाम" के रूप में मान रहे हैं। वो नहीं हैं। चर "संदर्भ धारक" होते हैं जिनमें वस्तुओं के संदर्भ होते हैं। ऑब्जेक्ट में आंतरिक नाम नहीं हैं। संदर्भ सबसे करीबी चीज है कि किसी वस्तु के लिए "नाम" है, सिवाय इसके कि उनके पास निरंतर प्रतिनिधित्व नहीं है। (GC एक ऑब्जेक्ट को स्थानांतरित कर सकता है जो संदर्भ को दर्शाने के लिए उपयोग किए जाने वाले बिट पैटर्न को बदल देता है।)
स्टीफन C

99

एक वर्ग एक खाका है जो आप वस्तुओं को बनाने के लिए उपयोग करते हैं । एक वस्तु एक वर्ग का एक उदाहरण है - यह एक ठोस 'चीज' है जिसे आपने एक विशिष्ट वर्ग का उपयोग करके बनाया है। तो, 'ऑब्जेक्ट' और 'इंस्टेंस' एक ही चीज़ हैं, लेकिन 'इंस्टेंस' शब्द किसी ऑब्जेक्ट के संबंध को उसकी कक्षा में दर्शाता है।

यदि आप एक उदाहरण देखें तो यह समझना आसान है। उदाहरण के लिए, मान लीजिए कि आपके पास एक वर्ग है House। आपका अपना घर एक वस्तु है और कक्षा का एक उदाहरण है House। आपकी बहन का घर एक अन्य वस्तु (कक्षा का एक और उदाहरण House) है।

// Class House describes what a house is
class House {
    // ...
}

// You can use class House to create objects (instances of class House)
House myHouse = new House();
House sistersHouse = new House();

वर्ग Houseइस अवधारणा का वर्णन करता है कि एक घर क्या है, और विशिष्ट, ठोस घर हैं जो कक्षा के ऑब्जेक्ट और उदाहरण हैं House

नोट: यह जावा में बिल्कुल वैसा ही है जैसा कि सभी ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेजेज में होता है।


class House { // blue print for House Objects } class Car { // blue print for Instances of Class Car } House myHouse = House new(); Car myCar = Car new();
सूरज जैन

myHouse और myCar हैं ऑब्जेक्ट myHouse हाउस का एक उदाहरण है (ऑब्जेक्ट-मायहाउस से उसके क्लास-हाउस से संबंधित है) myCar कार का एक उदाहरण है। क्या यह सही है, कृपया उपयोगकर्ता द्वारा उपरोक्त उत्तर देखें2390183 क्या यह सही है या नहीं?
सूरज जैन

30

एक वर्ग मूल रूप से एक परिभाषा है, और इसमें ऑब्जेक्ट का कोड होता है। एक वस्तु एक वर्ग का एक उदाहरण है

उदाहरण के लिए यदि आप कहते हैं

String word = new String();

वर्ग स्ट्रिंग वर्ग है, जो वस्तु (उदाहरण) शब्द का वर्णन करता है।

जब एक कक्षा घोषित की जाती है, तो कोई मेमोरी आवंटित नहीं की जाती है, इसलिए कक्षा सिर्फ एक टेम्पलेट है।

जब कक्षा की वस्तु घोषित की जाती है, तो मेमोरी आवंटित की जाती है।


क्या आपका मतलब है कि वस्तुएं और उदाहरण समान हैं?
प्रांजुत

लिंक के लिए धन्यवाद दाविद विषयों से मुझे यह मिला है कि हर वास्तविक दुनिया की चीजें जिनके पास राज्य और व्यवहार हैं उन्हें "वस्तु" के रूप में कहा जा सकता है। और इन वस्तुओं को वर्गीकृत करने के लिए हम क्लास का उपयोग करते हैं (ए क्लास ब्लूप्रिंट है जिसमें से व्यक्तिगत ऑब्जेक्ट बनाए जाते हैं)। और यह कहता है कि, वर्ग की वस्तुएँ उदाहरण हैं। अब कृपया कोई मुझे बताए कि वस्तु और उदाहरण के बीच अंतर क्या है? क्या इसका मतलब यह है कि वस्तु वास्तव में प्रोग्रामिंग के संदर्भ में मौजूद नहीं है और उदाहरण इसमें वस्तु का प्रतिनिधित्व करता है?
प्रांजलूट

@ मुस्तफा: मुझे आपके विरोधाभास के लिए खेद है, लेकिन जेएलएस के अनुसार, एक सरणी जावा में एक वस्तु भी है। और आप पाएंगे कि जेएलएस 'उदाहरण' शब्द को बिल्कुल भी परिभाषित नहीं करता है। मेरा जवाब देखिए।
स्टीफन C

@ रेयान: "उदाहरण" और "ऑब्जेक्ट" के बीच अंतर के लिए मेरा जवाब देखें। @ मुस्तफा का जवाब और टिप्पणी (IMO) भ्रामक है।
स्टीफन C

@ मुस्ताफबार - "जब एक वर्ग घोषित किया जाता है, तो कोई भी स्मृति आवंटित नहीं की जाती है, इसलिए कक्षा सिर्फ एक टेम्पलेट होती है।" - और यह सच भी नहीं है। स्मृति को (कम से कम) staticवर्ग के चर का प्रतिनिधित्व करने के लिए आवंटित किया गया है । (और अन्य बातों के लिए भी जो वर्ग की पहचान से संबंधित हैं।)
स्टीफन सी

13

मुझे आम आदमी के संदर्भ में जेस्पर की व्याख्या पसंद है

जेस्पर के जवाब से उदाहरणों को सुधारकर,

class House {
// blue print for House Objects
}

class Car {
// blue print for Instances of Class Car 
}

House myHouse = new House();
Car myCar = new Car();

myHouse और myCar ऑब्जेक्ट हैं

myHouse हाउस का एक उदाहरण है (ऑब्जेक्ट-मायहाउस से उसके क्लास-हाउस से संबंधित है) myCar कार का एक उदाहरण है

संक्षेप में

"myHouse एक है उदाहरण के वर्ग जो कह रही है के रूप में ही है हाउस" "myHouse एक है वस्तु के प्रकार हाउस"


6

क्लास डेटा प्रकार है, आप ऑब्जेक्ट बनाने के लिए इस प्रकार का उपयोग करते हैं।

  • इंस्टेंस लॉजिकल है लेकिन ऑब्जेक्ट फिजिकल का मतलब कुछ मेमोरी पर है।

  • हम अमूर्त वर्ग के साथ-साथ इंटरफ़ेस के लिए एक उदाहरण बना सकते हैं, लेकिन हम
    उन लोगों के लिए एक वस्तु नहीं बना सकते हैं।

  • ऑब्जेक्ट वर्ग का उदाहरण है और उदाहरण का अर्थ है कक्षा का प्रतिनिधि यानी ऑब्जेक्ट।

  • उदाहरण का तात्पर्य किसी वस्तु के संदर्भ से है।

  • ऑब्जेक्ट वास्तव में उस उदाहरण के मेमोरी एड्रेस की ओर इशारा करता है।

  • आप परतों पर उदाहरण नहीं दे सकते, लेकिन आप परतों के ऊपर ऑब्जेक्ट को पास कर सकते हैं

  • आप एक इंस्टेंस स्टोर नहीं कर सकते हैं लेकिन आप एक ऑब्जेक्ट स्टोर कर सकते हैं

  • एक एकल वस्तु में एक से अधिक उदाहरण हो सकते हैं।

  • इंस्टेंस में क्लास डेफिनेशन और ऑब्जेक्ट डेफिनिशन दोनों होंगे जहां ऑब्जेक्ट में ऑब्जेक्ट ऑब्जेक्ट की परिभाषा होगी।

वस्तु का सिंटैक्स:

 Classname var=new Classname();

लेकिन उदाहरण के लिए, यह केवल एक वस्तु को संदर्भित सूचक देता है, वाक्यविन्यास है:

 Classname varname;

3

जावा में, वस्तुओं को ढेर स्मृति पर रखा जाता है। इन्हें हमारे अनुप्रयोग में इंगित और उपयोग किए जाने के लिए संदर्भ की आवश्यकता होती है। संदर्भ में ऑब्जेक्ट का मेमोरी स्थान है जिसके साथ हम अपने आवेदन में वस्तुओं का उपयोग कर सकते हैं। संक्षेप में एक संदर्भ कुछ भी नहीं है लेकिन एक चर का नाम है जो मेमोरी स्थान पर त्वरित रूप से ऑब्जेक्ट के पते को संग्रहीत करता है।

एक instanceसामान्य शब्द है object। FYI करें, Objectएक वर्ग है।

उदाहरण के लिए,

Class A{

}

A ref = new A();

उपरोक्त कोड स्निपेट के लिए, रेफ एक वर्ग के ऑब्जेक्ट के लिए संदर्भ है जो ढेर पर उत्पन्न होता है।


3

ईमानदारी से, मैं अल्फ्रेड ब्लॉग परिभाषाओं के साथ अधिक सहज महसूस करता हूं :

वस्तु : वास्तविक विश्व वस्तुएं 2 मुख्य विशेषताएं, अवस्था और व्यवहार साझा करती हैं। मानव की अवस्था (नाम, आयु) और व्यवहार (दौड़ना, सोना) है। कार में राज्य (वर्तमान गति, वर्तमान गियर) और व्यवहार (ब्रेक लगाना, गियर बदलना) है। सॉफ़्टवेयर ऑब्जेक्ट वास्तविक रूप से वास्तविक दुनिया की वस्तुओं के समान हैं: वे भी राज्य और संबंधित व्यवहार से मिलकर होते हैं। एक वस्तु अपने राज्य को खेतों में संग्रहीत करती है और तरीकों के माध्यम से अपने व्यवहार को उजागर करती है।

कक्षा : एक "टेम्पलेट" / "खाका" है जिसका उपयोग वस्तुओं को बनाने के लिए किया जाता है। मूल रूप से, एक वर्ग में फ़ील्ड, स्थिर फ़ील्ड, विधि, स्थिर विधि और निर्माता शामिल होंगे। फ़ील्ड का उपयोग कक्षा की स्थिति को रखने के लिए किया जाता है (जैसे: छात्र ऑब्जेक्ट का नाम)। विधि का उपयोग कक्षा के व्यवहार को दर्शाने के लिए किया जाता है (उदाहरण के लिए: स्टूडेंट ऑब्जेक्ट स्टैंड-अप में कैसे जाता है)। कन्स्ट्रक्टर का उपयोग कक्षा का एक नया इंस्टेंस बनाने के लिए किया जाता है।

उदाहरण : एक उदाहरण एक वर्ग की एक अनूठी प्रति है जो किसी वस्तु का प्रतिनिधित्व करता है। जब एक वर्ग का एक नया उदाहरण बनाया जाता है, तो JVM उस वर्ग उदाहरण के लिए स्मृति का एक कमरा आवंटित करेगा।

अगले उदाहरण को देखते हुए:

public class Person {
    private int id;
    private String name;
    private int age;

    public Person (int id, String name, int age) {
        this.id = id;
        this.name = name;
        this.age = age;
    }

    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + id;
        return result;
    }

    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Person other = (Person) obj;
        if (id != other.id)
            return false;
        return true;
    }

    public static void main(String[] args) {
        //case 1
        Person p1 = new Person(1, "Carlos", 20);
        Person p2 = new Person(1, "Carlos", 20);

        //case 2
        Person p3 = new Person(2, "John", 15);
        Person p4 = new Person(3, "Mary", 17);
    }
}

केस 1 के लिए, वर्ग व्यक्ति के दो उदाहरण हैं, लेकिन दोनों उदाहरण एक ही वस्तु का प्रतिनिधित्व करते हैं।

केस 2 के लिए, वर्ग व्यक्ति के दो उदाहरण हैं, लेकिन प्रत्येक उदाहरण एक अलग वस्तु का प्रतिनिधित्व करता है।

इसलिए कक्षा, वस्तु और उदाहरण अलग-अलग चीजें हैं। ऑब्जेक्ट और इंस्टेंस समानार्थी नहीं हैं, जैसा कि सही उत्तर के रूप में चयनित उत्तर में सुझाया गया है।


2

यदि आपके पास एक प्रोग्राम है जो कारों को मॉडल करने के लिए आपके पास कारों का प्रतिनिधित्व करने के लिए एक वर्ग है, तो कोड में आप कह सकते हैं:

Car someCar = new Car();

someCar अब क्लास कार का एक उदाहरण है। यदि प्रोग्राम का उपयोग किसी मरम्मत की दुकान पर किया जाता है और someCar आपकी प्रणाली में अपनी कार का प्रतिनिधित्व करता है, तो आपकी कार वस्तु है।

तो कार एक वर्ग है जो किसी भी वास्तविक दुनिया का प्रतिनिधित्व कर सकता है कार someCar कार वर्ग का एक उदाहरण है और कुछ कार एक वास्तविक जीवन वस्तु (आपकी कार) का प्रतिनिधित्व करती है

हालांकि कोडिंग पर चर्चा करने के दौरान उदाहरण और वस्तु का बहुत बार परस्पर उपयोग किया जाता है


1
सख्ती से बोलना someCarएक कार उदाहरण के लिए एक संदर्भ है। उदाहरण में खुद का नाम नहीं है।
जोकिम सउर

2

आपके कंप्यूटर स्टोर और प्रक्रियाओं का किसी भी प्रकार का डेटा इसके सबसे बुनियादी प्रतिनिधित्व में बिट्स की एक पंक्ति है। जिस तरह से उन बिट्स की व्याख्या की जाती है वह डेटा प्रकारों के माध्यम से की जाती है। डेटा प्रकार आदिम या जटिल हो सकते हैं। आदिम डेटा प्रकार हैं - उदाहरण के लिए - इंट या डबल। उनकी एक विशिष्ट लंबाई और व्याख्या किए जाने का एक विशिष्ट तरीका है। पूर्णांक के मामले में, आमतौर पर पहले बिट का उपयोग संकेत के लिए किया जाता है, अन्य का उपयोग मूल्य के लिए किया जाता है।

जटिल डेटा प्रकार आदिम और अन्य जटिल डेटा प्रकारों के संयोजन हो सकते हैं और जावा में "क्लास" कहलाते हैं।

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

जब आप एक डेटा प्रकार का एक उदाहरण बनाते हैं, तो आपको एक ऑब्जेक्ट मिलता है और आपके कंप्यूटर इसके लिए कुछ मेमोरी रखते हैं और इसके स्थान और उस उदाहरण का नाम याद करते हैं। मेमोरी में PeopleName का एक उदाहरण दो स्ट्रिंग वैरिएबल की जगह लेगा और साथ ही बहीखाता पद्धति के लिए थोड़ा और अधिक होगा। एक पूर्णांक जावा में 32 बिट्स लेता है।

जटिल डेटा प्रकारों में उनके द्वारा नियत तरीके हो सकते हैं। विधियाँ अपने तर्कों पर या जिस डेटा प्रकार से आप इस विधि को कॉल करती हैं उसके उदाहरण पर कार्रवाई कर सकती हैं। यदि आपके पास PeopleName के दो उदाहरण हैं जिन्हें p1 और P2 कहा जाता है और आप एक विधि p1.getFirstName () कहते हैं, तो यह आमतौर पर पहले व्यक्ति का पहला नाम देता है, लेकिन दूसरे व्यक्ति का नहीं।


2

कक्षाओं और वस्तुओं के पीछे की अवधारणा तर्क को एकल प्रोग्रामिंग इकाई में बदलना है। कक्षाओं ब्लूप्रिंट हैं जिनमें से वस्तुओं का निर्माण होता है।

यहाँ एक कार का प्रतिनिधित्व करने वाले वर्ग का एक उदाहरण:

public class Car {

    int currentSpeed;
    String name;

    public void accelerate() {  
    }

    public void park() {
    }

    public void printCurrentSpeed() {
    }
}

आप बना सकते हैं उदाहरणों की वस्तु इस तरह कार:

Car audi = new Car();
Car toyota = new Car();

मैंने इस ट्यूटोरियल से उदाहरण लिया है


2

कक्षा : संरचना

ऑब्जेक्ट : शारीरिक मैनिफ़ेस्टेशन

उदाहरण : कक्षा से निर्मित प्रत्येक वस्तु

संदर्भ : वस्तु का पता


1

कक्षा

  • इसका तार्किक अस्तित्व है, अर्थात इसे बनाते समय कोई स्मृति स्थान आवंटित नहीं किया जाता है।

  • यह वस्तुओं का एक समूह है।

  • वस्तुओं को बनाने के लिए एक वर्ग को एक खाका माना जा सकता है।

    • यह क्लास कीवर्ड का उपयोग करके बनाया गया है

    • एक वर्ग उन तरीकों और डेटा सदस्यों को परिभाषित करता है जो ऑब्जेक्ट्स के पास होंगे।


वस्तु

  • इसका अस्तित्व होने पर इसका भौतिक अस्तित्व है, अर्थात मेमोरी स्पेस आवंटित किया गया है।

  • यह एक वर्ग का एक उदाहरण है।

  • ऑब्जेक्ट एक अनोखी इकाई है जिसमें OOP भाषा में डेटा सदस्य और सदस्य फ़ंक्शन एक साथ होते हैं।

    • यह नए कीवर्ड का उपयोग करके बनाया गया है

    • एक ऑब्जेक्ट विधियों और उन मूल्यों के कार्यान्वयन को निर्दिष्ट करता है जो कक्षा में डेटा सदस्यों के पास होंगे।


1
एक वर्ग "निर्मित" होने पर अंतरिक्ष आवंटित किया जा सकता है। कक्षा द्वारा परिभाषित किसी भी स्थिर चर के लिए स्थान आवश्यक है। (और "तार्किक" बनाम "भौतिक" इसे खींच रहा है, क्योंकि एक वस्तु प्रतिनिधित्व केवल कुछ मेमोरी डिवाइस में बिट पैटर्न की मदद करता है।)
स्टीफन सी

@StephenC तब दूसरा अंतर क्या हो सकता है?

मेरा जवाब देखिए। इस सवाल का जवाब सिर्फ मतभेदों के बारे में बात करके ठीक से नहीं दिया जा सकता है।
स्टीफन सी

0

एक वर्ग एक खाका है जो एक वस्तु (= उदाहरण) बनाने के लिए आवश्यक है।

एक वस्तु और एक उदाहरण के बीच का अंतर है, एक वस्तु एक चीज है और एक उदाहरण एक संबंध है।

दूसरे शब्दों में, उदाहरण उस वस्तु के संबंध का वर्णन करता है जिस कक्षा से वस्तु बनाई गई थी।


-1

परिभाषा "ऑब्जेक्ट एक वर्ग का एक उदाहरण है", वैचारिक रूप से गलत है, लेकिन कार्यान्वयन के अनुसार सही है। वास्तव में प्रोग्रामर के दिमाग को कम से कम ध्यान केंद्रित करने के लिए ऑब्जेक्ट ओरिएंटेड फीचर्स को वास्तविक जीवन से लिया जाता है। वास्तविक जीवन की कक्षाओं में ऑब्जेक्ट को प्रबंधित करने के लिए डिज़ाइन किया गया है। उदाहरण के लिए- हम इंसानों की जाति, धर्म, राष्ट्रीयता और बहुत कुछ है। ये जाति, धर्म, राष्ट्रीयता वर्ग हैं और इनका मानव के बिना कोई अस्तित्व नहीं है। लेकिन कार्यान्वयन में कक्षाओं के बिना वस्तुओं का कोई अस्तित्व नहीं है। ऑब्जेक्ट- ऑब्जेक्ट एक असतत इकाई है जिसमें कुछ अच्छी तरह से परिभाषित विशेषता होती है। यहाँ असतत का अर्थ कुछ ऐसा है जो इसे अन्य से अद्वितीय बनाता है। अच्छी तरह से परिभाषित विशेषता कुछ संदर्भ में समझ में आती है। वर्ग- किसी सामान्य व्यवहार या किसी सामान्य प्रकार की वस्तुओं का वस्तु का वर्गीकरण।


-1

जबकि उपरोक्त उत्तर सही हैं, कक्षाओं और वस्तुओं के बारे में सोचने का एक और तरीका वास्तविक दुनिया के उदाहरणों का उपयोग करना होगा: पशु नामक एक वर्ग में बिल्ली, कुत्ता या मछली जैसी वस्तुएं हो सकती हैं। बाइबल शीर्षक के साथ एक वस्तु क्लास बुक की होगी, आदि कक्षाएं सामान्य हैं, वस्तुएं विशिष्ट हैं। इस विचार उदाहरण ने मेरी मदद की जब मैं जावा सीख रहा था।


हाँ ... लेकिन उपमाएँ भी भ्रामक हो सकती हैं। यदि Animalएक वर्ग है और Catएक उदाहरण है, तो मेरी पालतू बिल्ली बिल्ली "शराबी" क्या है?
स्टीफन सी

वास्तव में, वास्तविक दुनिया में (और प्रकार के सिद्धांत में) Animalसभी जानवरों Catके सेट को दर्शाता है , और सभी बिल्लियों के सेट को दर्शाता है। Catका एक Animalउदाहरण नहीं की एक सबसेट है Animal
स्टीफन सी

-2

क्लास एक टेम्पलेट या प्रकार है। एक वस्तु वर्ग का एक उदाहरण है।

उदाहरण के लिए:

public class Tweet {

}

Tweet newTweet = new Tweet();

ट्वीट एक वर्ग है और newTweet वर्ग का एक उद्देश्य है।


ये सिर्फ शब्द हैं। आप वास्तव में यह नहीं समझाते हैं कि शब्दों का क्या अर्थ है। (और वास्तव में, जावा कक्षाएं वास्तविक जीवन में या तो उस तरह का व्यवहार नहीं करती हैं, जिस तरह से जावास्क्रिप्ट, पायथन, रूबी, आदि जैसी भाषाओं में करती हैं)
स्टीफन सी।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.