मेरे विचार में, यह एक प्रयोज्य मुद्दे के रूप में इतना निश्चित मुद्दा नहीं है।
ऑब्जेक्ट एक अमूर्त उद्देश्य हैं, जो जटिल कार्यक्रमों के बारे में पढ़ना, लिखना और कारण को आसान बनाने के लिए हैं। एक व्यावहारिक प्रोग्रामर के लिए, चाहे वह भाषा "ऑब्जेक्ट-ओरिएंटेड" की किसी विशेष औपचारिक परिभाषा के सभी मानदंडों को पूरा करती हो (वहाँ कई प्रतिस्पर्धी प्रतीत होते हैं!) वास्तव में उतना महत्वपूर्ण नहीं है जितना कि यह प्रदान करने वाले उपकरण के बारे में सोचने के लिए उपयुक्त हैं या नहीं! उक्त वस्तुओं के संदर्भ में आपका कार्यक्रम - यानी, वास्तव में ओओपी के कथित उत्पादकता लाभों को पुनः प्राप्त करना।
C ++ में, वस्तुओं एक बहुत हैं टपकाया मुद्दों है कि अन्य भाषाओं की तुलना में OOP सीधे सी में कोडिंग की याद ताज़ा कर रहे हैं - संक्षेपण हैं, अक्सर कैसे उन वस्तुओं स्मृति में संरचित कर रहे करने के लिए संबंधित मुद्दों के साथ बुरा लड़ाई के लिए प्रोग्रामर मजबूर। उदाहरण के लिए, C ++ अक्सर पूछे जाने वाले उत्तर इस आलोचना प्रदान करता है (दूसरों के बीच):
एक चिकित्सक के लिए C ++ के अलावा अन्य OO प्रणालियों के साथ परिचित होना बहुत फायदेमंद है, और OO परिभाषाओं के अलावा, "एन्कोप्युलेशन, इनहेरिटेंस, पॉलिमॉर्फिज्म" ट्रिनिटी के अलावा अन्य विशेष तरीकों से व्याख्या की जाती है जिससे C ++ को "OO" माना जा सकता है। उदाहरण के लिए, एक दावा है कि सीमा जाँच या कचरा संग्रह की कमी वाला वातावरण एक OO वातावरण नहीं है जो C ++ के आदी लोगों के प्रति अपमानजनक लगता है। लेकिन कई दृष्टिकोणों से, यह बहुत मायने रखता है। यदि कोई किसी वस्तु को ओवरराइट कर सकता है, तो "एनकैप्सुलेशन" कहां है? यदि किसी वस्तु को डिस्पोज़ करने से संदर्भ या मेमोरी लीक हो सकती है, तो सिस्टम "ऑब्जेक्ट-ओरिएंटेड" कैसे हो सकता है ? किसी दिए गए स्थान और समय पर किस तरह की वस्तु बताने की क्षमता है? आप कहते हैं कि सॉफ्टवेयर वस्तुओं के साथ काम करता है - वे कहाँ हैं? और अगर कोई पता नहीं लगा सकता है, तो सॉफ्टवेयर को कैसे डीबग करना है?
C ++ ऑब्जेक्ट-ओरिएंटेड है, लेकिन अप्रिय और अपूर्ण रूप से: इसके उपयोगकर्ताओं को यह सुनिश्चित करने के लिए बहुत प्रयास करना पड़ता है कि उनका डेटा वास्तव में गलत बिट्स के बजाय "वास्तविक" ऑब्जेक्ट्स की तरह व्यवहार करता है । उस ने कहा, इसके जीवन काल में C ++ में बहुत सारे कोड लिखे गए हैं, अधिकांश इसका उपयोग कक्षाओं और गतिशील प्रेषण का उपयोग करते हैं, इसलिए यह स्व-साक्ष्य है जो आप व्यावहारिक OOP के लिए उपयोग कर सकते हैं।