मुख्य तथ्य

  • 1967 में Ole-Johan Dahl और Kristen Nygaard की Simula 67 भाषा ने क्लास, ऑब्जेक्ट और इनहेरिटेंस को संगठित रूप में पेश किया;
  • 1972 में Xerox PARC में Alan Kay की Smalltalk परंपरा ने संदेश-आधारित ऑब्जेक्ट मॉडल को लोकप्रिय किया;
  • 1985 में Bjarne Stroustrup की C++ भाषा ने C के निकट मशीन-नियंत्रण के साथ क्लास, कन्स्ट्रक्टर, डिस्ट्रक्टर और वर्चुअल फ़ंक्शन जोड़े;
  • 1994 में Guido van Rossum की Python 1.0 जारी हुई; इसमें क्लास और ऑब्जेक्ट सरल सिंटैक्स से मिलते हैं, पर मेमोरी प्रबंधन अधिकतर इंटरप्रेटर और गार्बेज कल...
  • 1995 में Sun Microsystems की Java भाषा आई; प्लेटफ़ॉर्म-स्वतंत्र बाइटकोड, इंटरफ़ेस और गार्बेज कलेक्शन ने इसे ओओपी के मानक उदाहरणों में शामिल किया।

मुख्य बिंदु

  1. 1

    1967 में Ole-Johan Dahl और Kristen Nygaard की Simula 67 भाषा ने क्लास, ऑब्जेक्ट और इनहेरिटेंस को संगठित रूप में पेश किया; इसलिए इसे ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की शुरुआती आधार-भाषा माना जाता है।

  2. 2

    1972 में Xerox PARC में Alan Kay की Smalltalk परंपरा ने संदेश-आधारित ऑब्जेक्ट मॉडल को लोकप्रिय किया; इससे ग्राफ़िकल यूज़र इंटरफ़ेस और शिक्षण-उन्मुख प्रोग्रामिंग पर गहरा असर पड़ा।

  3. 3

    1985 में Bjarne Stroustrup की C++ भाषा ने C के निकट मशीन-नियंत्रण के साथ क्लास, कन्स्ट्रक्टर, डिस्ट्रक्टर और वर्चुअल फ़ंक्शन जोड़े; वस्तुनिष्ठ परीक्षाओं में इसका मेमोरी-प्रबंधन पक्ष बार-बार पूछा जाता है।

  4. 4

    1994 में Guido van Rossum की Python 1.0 जारी हुई; इसमें क्लास और ऑब्जेक्ट सरल सिंटैक्स से मिलते हैं, पर मेमोरी प्रबंधन अधिकतर इंटरप्रेटर और गार्बेज कलेक्शन संभालते हैं।

  5. 5

    1995 में Sun Microsystems की Java भाषा आई; प्लेटफ़ॉर्म-स्वतंत्र बाइटकोड, इंटरफ़ेस और गार्बेज कलेक्शन ने इसे ओओपी के मानक उदाहरणों में शामिल किया।

  6. 6

    1997 में OMG ने UML 1.1 को मानकीकृत किया; क्लास डायग्राम, इनहेरिटेंस तीर और रिलेशनशिप नोटेशन सॉफ़्टवेयर डिज़ाइन को चित्र में समझाने के प्रमुख साधन बने।

  7. 7

    1998 में ISO/IEC 14882 ने C++ का पहला अंतरराष्ट्रीय मानक प्रकाशित किया; इससे क्लास, टेम्पलेट, एक्सेप्शन और स्टैंडर्ड लाइब्रेरी की परिभाषाएँ स्थिर हुईं।

क्लास और ऑब्जेक्ट का मूल मॉडल क्या है?

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

सी प्लस प्लस में `class Student` लिखकर फ़ील्ड और मेंबर फ़ंक्शन रखे जाते हैं। जावा में भी क्लास केंद्रीय इकाई है, पर लगभग हर कोड किसी न किसी क्लास में रखा जाता है। Python में `class Student:` से क्लास बनती है और `self` वर्तमान ऑब्जेक्ट को दर्शाता है। परीक्षा में अक्सर पूछा जाता है कि क्लास मेमोरी नहीं घेरती जब तक उसका ऑब्जेक्ट या स्टैटिक सदस्य न बने; सामान्य ऑब्जेक्ट बनने पर उसके नॉन-स्टैटिक डेटा के लिए जगह चाहिए। क्लास सामान्यीकृत परिभाषा है, ऑब्जेक्ट उसका विशिष्ट उदाहरण है।

याद रखने लायक बात: क्लास नक्शा है, ऑब्जेक्ट उसी नक्शे से बना वास्तविक प्रोग्राम-तत्व है।

पूरा नोट खोलें

यह सार्वजनिक पृष्ठ पहला उपलब्ध खंड दिखाता है। स्टडी पैक पूरा विषय और सभी पुनरावलोकन सामग्री खोलता है।

7 और खंड पूरे नोट में हैं

स्टडी पैक खोलें