मैंने छोटी बात पूरी तरह ऑब्जेक्ट उन्मुख होने के बारे में पढ़ा .. क्या सी ++ भी पूरी तरह उन्मुख ऑब्जेक्ट है? यदि नहीं .. तो क्यों ??क्या सी ++ पूरी तरह उन्मुख भाषा का ऑब्जेक्ट है?
उत्तर
नहीं, ऐसा नहीं है। आप एक ऑब्जेक्ट का उपयोग किए बिना एक वैध, अच्छी तरह से कोडित, उत्कृष्ट स्टाइल सी ++ प्रोग्राम भी लिख सकते हैं।
सी ++ ऑब्जेक्ट उन्मुख प्रोग्रामिंग का समर्थन करता है, लेकिन ओओ भाषा के लिए आंतरिक नहीं है। वास्तव में, मुख्य कार्य किसी ऑब्जेक्ट का सदस्य नहीं है।
स्मॉलटॉक या जावा में, आप कम से कम एक वर्ग के बिना अपने जूते (या "हैलो, दुनिया") लिख नहीं सकते हैं।
(बेशक, एक, जावा एक पूरी तरह से वस्तु उन्मुख भाषा भी होने के बारे में लोगों का तर्क कर सकते हैं, क्योंकि इसके पुरातन (जैसे कि, पूर्णांक) नहीं वस्तुओं रहे हैं।)
इसमें ऐसी सुविधाएं भी हैं जो इसे सामान्य प्रोग्रामिंग भाषा जैसे टेम्पलेट्स बनाती हैं। लेकिन मैंने कई स्कूल स्तरीय पाठ्य पुस्तकों को देखा है जो सी ++ को ऑब्जेक्ट ओरिएंटेड लैंग्वेज के रूप में जोड़ते हैं। समस्या तब होती है जब लेखक ऐसा करते हैं, पाठक (मुख्य रूप से छात्र) आसानी से भूल जाते हैं कि सी ++ कई प्रकार की प्रोग्रामिंग भाषाओं के लिए भी फिट बैठता है। – sjsam
ओओएल परिभाषित करें। यदि आप कक्षाओं आदि का उपयोग करना चाहते हैं, तो सी ++ दूसरों के बीच प्रोग्रामिंग की ओओ-स्टाइल का समर्थन करता है। ऐसा कुछ भी नहीं है जो आपको कक्षाओं का उपयोग न करने से रोकता है। जावा ओटीओएच, लेकिन वर्गों की अनुमति नहीं देता है। (हाँ, मुझे पता है कि जावा एफपी का समर्थन करता है।)
"हां, मुझे पता है कि जावा एफपी का समर्थन करता है"। यह मेरे लिए नया है। क्या आपके पास जावा में एफपी का कोई उदाहरण है? –
एक साधारण खोज मुझे कुछ लेख प्राप्त करती है। ऐसा एक:
डार्क। मुझे लगता है कि आप जावा का समर्थन कर सकते हैं ** प्रक्रियात्मक ** प्रोग्रामिंग? Ne? –
सी ++ में एक 'सी' बोली है जो एक सबसेट के रूप में है, जो कोड की पूरी प्रक्रियात्मक शैली की अनुमति देता है।
सी ++ एक शुद्ध वस्तु उन्मुख भाषा नहीं है, और के रूप में पहले से ही उल्लेख किया गया है कि आप सी ++ में ओओपी अवधारणाओं का उपयोग करने के लिए मजबूर नहीं हैं। सी ++ वह है जिसे आप हाइब्रिड ऑब्जेक्ट उन्मुख भाषा कहते हैं, क्योंकि यह सी पर आधारित है जो पूरी तरह से एक प्रक्रियात्मक भाषा है।
शुद्ध ऑब्जेक्ट उन्मुख भाषाओं के उदाहरण सी # और जावा हैं।
उनमें से कोई भी आदिम डेटाटाइप उपयोगकर्ता परिभाषित डेटाटाइप के समान वही अर्थशास्त्र का पालन नहीं करते हैं। उन पर संचालन संदेशों को पारित करने के संदर्भ में परिभाषित नहीं किया जाता है और उन्हें व्युत्पन्न कक्षा में ओवरलोड या पुनः परिभाषित नहीं किया जा सकता है। – Omnifarious
मुझे लगता है कि आपने गलत पोस्ट पर टिप्पणी की है। ;) –
नहीं, ओमनी कह रही है कि न तो सी # और न ही जावा शुद्ध ओओ हैं क्योंकि उनके पास int और long जैसी चीजें हैं जो * ऑब्जेक्ट्स नहीं हैं। – paxdiablo
नहीं, यह पूरी तरह ऑब्जेक्ट उन्मुख भाषा नहीं है। सी ++ में विशेष रूप से आदिम डेटाटाइप में नियम होते हैं जो अक्सर डेटाटाइप से अलग होते हैं जो आदिम नहीं होते हैं। इसके अतिरिक्त उन कार्यों को बनाना संभव है जो किसी भी डेटाटाइप से जुड़े नहीं हैं। अन्य तरीकों से असंख्य हैं जिनमें सी ++ शुद्ध ऑब्जेक्ट उन्मुख भाषा नहीं है, लेकिन ये सबसे बड़े कारण हैं।
न तो जावा और न ही सी शुद्ध ऑब्जेक्ट उन्मुख भाषाएं हैं क्योंकि उनके पास आदिम डेटाटाइप हैं जो 'ऑब्जेक्ट' डेटाटाइप के समान अर्थशास्त्र का पालन नहीं करते हैं।
संक्षिप्त उत्तर नहीं है - सी ++ पूरी तरह से ओओ भाषा नहीं है। सी सीसेट का उपयोग करने के बिना भी आप "बिल्कुल नहीं" ओओपी लिख सकते हैं। ऐसा एक उदाहरण आपकी मुख्य विधि है - जो कि किसी भी वर्ग में निहित नहीं है।
मुख्य कारण यह है कि सी ++ सी से उत्पन्न हुआ - जब स्ट्रॉस्ट्रप ने उस भाषा को बनाया जिसकी वह सी (कक्षाओं के साथ) का एक नया संस्करण बनाने का लक्ष्य रख रही थी। असल में उन्होंने अपनी रचना को सी (सी 84) के नए स्वाद के रूप में प्रस्तुत करने की कोशिश की है।
बड़ा तर्क लोगों सी ++ की घोषणा के रूप में के खिलाफ है "शुद्ध" OO कि यह अभी भी कम से कम एक गैर OO बिट, main()
की आवश्यकता है, और नहीं कुछ एक ऑब्जेक्ट (int
, long
एट अल) है।
यह संदेश-पासिंग प्रतिमान (सार्वजनिक सदस्यों) का उपयोग किए बिना हेरफेर के लिए किसी ऑब्जेक्ट की स्थिति का खुलासा करता है। यह वस्तुओं के encapsulation तोड़ता है।
जावा, दूसरी ओर, main()
एक वर्ग की एक स्थिर विधि के रूप में है, इसलिए यह करीब है लेकिन इसमें अभी भी गैर-ऑब्जेक्ट चीजें हैं।
स्मॉलटॉक आमतौर पर शुद्ध के शुद्धतम के रूप में आयोजित लिंगुआ फ़्रैंका है, लेकिन मुझे टिप्पणी करने के बारे में पर्याप्त जानकारी नहीं है।
मैं, मैं जब तक मैं कोड को विकसित करने और अपने ग्राहकों को दे रहे थे :-)
वास्तव में मुख्य की आवश्यकता नहीं है। यह सिर्फ एक प्रसिद्ध प्रविष्टि बिंदु है ताकि कमांड लाइन और (कुछ) जीयूआई लोड के बाद नियंत्रण पास न करें। –
आपको * मुख्य * की आवश्यकता है, यह मानक द्वारा अनिवार्य है। – paxdiablo
नहीं के साथ पर मिलता है बुद्धिजीवियों के लिए तर्कों की उन तरह छोड़ जाते हैं !! यह आंतरिक डेटा प्रकारों का समर्थन करता है।
सी ++ कुछ भी नहीं है "कक्षाओं के साथ सी"। मैं अभी भी एक सी प्रोग्राम लिख सकता हूं और इसे .cpp फ़ाइल के रूप में सहेज सकता हूं। तो, निहितार्थ द्वारा सबूत कहता है "सी ++ पूरी तरह ऑब्जेक्ट उन्मुख भाषा नहीं है।"
- 1. रूबी वास्तव में पूरी तरह ऑब्जेक्ट उन्मुख भाषा है?
- 2. पायथन पूरी तरह से ऑब्जेक्ट उन्मुख क्यों नहीं है?
- 3. ऑब्जेक्ट उन्मुख प्रोग्रामिंग पूरी तरह कार्यात्मक प्रोग्रामिंग संदर्भ में?
- 4. रूबी पूरी तरह ऑब्जेक्ट ओरिएंटेड कैसे है?
- 5. क्या मोंगोडीबी ऑब्जेक्ट उन्मुख है?
- 6. घटक-उन्मुख और ऑब्जेक्ट उन्मुख भाषा के बीच क्या अंतर है?
- 7. स्काला का ऑब्जेक्ट उन्मुख
- 8. क्या एक पूरी तरह से प्रबंधित .NET भाषा
- 9. ऑब्जेक्ट उन्मुख PHP धीमा है?
- 10. क्या मेरा PHP कोड ऑब्जेक्ट उन्मुख है?
- 11. ऑब्जेक्ट उन्मुख प्रोग्रामिंग
- 12. एचएएस-ए, ऑब्जेक्ट उन्मुख भाषा में आईएस-ए शब्दावली
- 13. सी ++ और पूरी तरह गतिशील फ़ंक्शन
- 14. दावा क्यों है कि सी # लोगों को ऑब्जेक्ट उन्मुख प्रोग्रामिंग नहीं मिलती है? (बनाम वर्ग उन्मुख)
- 15. ऑब्जेक्ट उन्मुख नेटवर्किंग
- 16. एंड्रॉइड ऑब्जेक्ट उन्मुख प्रोग्रामिंग
- 17. ऑब्जेक्ट उन्मुख डिजाइन प्रश्न
- 18. ओआरएम ऑब्जेक्ट उन्मुख प्रोग्रामिंग के लिए विशिष्ट समस्या है?
- 19. ऑब्जेक्ट उन्मुख प्रोग्रामर के लिए योजना
- 20. PHP ऑब्जेक्ट उन्मुख दृश्यता
- 21. साक्षात्कार प्रश्न: ऑब्जेक्ट और ऑब्जेक्ट उन्मुख भाषाओं के बीच अंतर
- 22. नेटबीन्स में आईडीई भाषा को पूरी तरह से बदलें 6.8
- 23. क्या कोई भाषा यूनिकोड और क्रॉस-प्लेटफ़ॉर्म को ठीक से और पूरी तरह से करती है?
- 24. पहलू उन्मुख प्रोग्रामिंग क्या है?
- 25. क्या हास्केल वास्तव में असुरक्षित कार्यक्षमता पर विचार कर एक पूरी तरह कार्यात्मक भाषा है?
- 26. क्या पूरी तरह से प्रबंधित एएसपीनेट सी # वेब एप्लिकेशन
- 27. ऑब्जेक्ट उन्मुख और दस्तावेज़ डेटाबेस के बीच क्या अंतर है?
- 28. क्या पर्ल में ऑब्जेक्ट उन्मुख अपवाद हैंडलिंग है?
- 29. पूरी तरह से nullptr
- 30. क्या पाइथन अधिक ऑब्जेक्ट उन्मुख में बदल गया है?
'छोटी बात पूरी तरह ऑब्जेक्ट उन्मुख' है, आपने इसे कहां से पढ़ा? बस उत्सुक। –
इसका मतलब क्या है "पूरी तरह से"? –
रूबी के बारे में क्या? – ukanth