Aspirant Academy

MCQ

ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग MCQ - उत्तर सहित अभ्यास प्रश्न

RAS/RPSC तैयारी के लिए ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के 7 प्रश्न हल करें।

अभ्यास प्रश्न

प्र.1यदि तीन थ्रेड एक ही समय में एक ही ऑब्जेक्ट को साझा करने का प्रयास कर रहे हों, तो इस स्थिति में क्या उत्पन्न होगा?

A समय-अंतराल
B गंभीर स्थिति
C रेस कंडीशन
D पुनरावर्तन
व्याख्या

जब अलग-अलग थ्रेड एक ही साझा डेटा पर साथ-साथ काम करते हैं, तो उनके चलने के क्रम से परिणाम बदल सकता है। ऐसी समय-निर्भर गड़बड़ी को रेस कंडीशन कहा जाता है। इसलिए सही उत्तर C है।

प्र.2‘ptrdata’ एक डेटा प्रकार का पॉइंटर है। व्यंजक *ptrdata++ का मूल्यांकन इस प्रकार किया जाता है (C++) -

A *(ptrdata ++)
B (*ptrdata)++
C *(ptrdata) ++
D कंपाइलर पर निर्भर करता है
व्याख्या

C++ में पोस्टफ़िक्स इंक्रीमेंट (++) की प्राथमिकता यूनरी इनडायरेक्शन (*) से अधिक होती है। इसलिए *ptrdata++ का मूल्यांकन *(ptrdata++) के रूप में होता है, (*ptrdata)++ के रूप में नहीं। इसलिए सही उत्तर A है।

प्र.3जावा के संबंध में निम्नलिखित में से कौनसा/से कथन सत्य है / हैं ? A. जिन मानों को बदला नहीं जा सकता, उन्हें `static` कीवर्ड का उपयोग करके घोषित किया जाता है। B. एक क्लास केवल एक ही क्लास से इनहेरिट कर सकती है, लेकिन कई इंटरफेस लागू कर सकती है।

A A सही है
B B सही है
C दोनों (A) और (B) सही हैं
D न (A) सही है और ना ही (B) सही है
व्याख्या

कथन A गलत है, क्योंकि जावा में न बदलने वाले वेरिएबल के लिए `final` का प्रयोग होता है; `static` केवल सदस्य को क्लास-स्तर का बनाता है। कथन B सही है, क्योंकि जावा में कोई क्लास केवल एक ही प्रत्यक्ष सुपरक्लास रखती है और कई इंटरफेस लागू कर सकती है। इसलिए सही उत्तर B है।

प्र.4अपवाद प्रबंधन के बारे में कौनसा/से कथन सही है/हैं? i. catch ब्लॉक के बिना try ब्लॉक हो सकता है, लेकिन इसके विपरीत सम्भव नहीं है। ii. किसी एक try ब्लॉक के लिए कितने भी catch ब्लॉक हो सकते हैं। iii. जिस वस्तु में त्रुटि हुई है, उसे उसकी निर्दिष्ट क्लास का बनाया जाना चाहिए, अन्यथा रनटाइम त्रुटि आएगी। iv. किसी कोड को प्रोग्राम के प्रत्येक रन के साथ निष्पादित करने के लिए, कोड को finally ब्लॉक में लिखा जाता है।

A i और ii, iv
B केवल ii
C केवल iii
D केवल ii और iv
व्याख्या

अपवाद प्रबंधन में try ब्लॉक के साथ catch न हो तो finally ब्लॉक लगाया जा सकता है, लेकिन catch अकेला नहीं लिखा जाता। एक try ब्लॉक के लिए कई catch ब्लॉक रखे जा सकते हैं और finally ब्लॉक सामान्यतः हर निष्पादन में चलने वाले कोड के लिए होता है। तीसरा कथन गलत है, क्योंकि अपवाद को उपयुक्त अपवाद-प्रकार से पकड़ा जाता है; त्रुटि वाली क्लास का अलग ऑब्जेक्ट बनाना नियम नहीं है। इसलिए सही उत्तर A है।

प्र.5Java में निम्न में से किस तरीके से स्ट्रिंग बनेगी? I : String S = “Hello Java”; II : String S2 = new String (“Hello Java”);

A केवल I
B केवल II
C I तथा II दोनों
D न तो I ना ही II
व्याख्या

दोनों कथन Java में स्ट्रिंग बनाते हैं। कथन I स्ट्रिंग लिटरल का उपयोग करता है और कथन II सही Java लेखन new String(...) के साथ String क्लास के कंस्ट्रक्टर का उपयोग करता है। इसलिए सही उत्तर C है।

आपने 7 में से 5 नमूना प्रश्न देख लिए हैं

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

और प्रश्न

6अमूर्त वर्गों के संबंध में निम्नलिखित में से कौन-सा/से कथन गलत है/हैं? i. किसी अमूर्त वर्ग का उपवर्ग, जो अमूर्त मेथड का कार्यान्वयन उपलब्ध नहीं कराता है, वह भी अमूर्त होता है। ii. अमूर्त वर्ग में कंस्ट्रक्टर और स्थिर मेथड घोषित नहीं की जा सकती हैं। iii. कभी-कभी हम सीधे वस्तुएँ बना सकते हैं। iv. अमूर्त वर्ग के ठोस उपवर्ग में अमूर्त मेथड को हमेशा पुनर्परिभाषित किया जाना चाहिए।

Ai और ii
Bii और iii
Cii और iv
Di, ii और iv

7गलत कथन छांटिए –

Aयदि किसी मेथड को final घोषित किया गया है, तो उस मेथड को subclass में override नहीं किया जा सकता।
Bfinalize() जावा की एक मेथड है, जिसे मेमोरी से किसी ऑब्जेक्ट को हटाने से पहले garbage collector thread द्वारा कॉल किया जाता है।
Cयदि किसी क्लास को final घोषित किया जाता है, तो उसे inherit नहीं किया जा सकता। ऐसा करने पर compile-time error आएगी।
Dयदि हम किसी चर को final घोषित करते हैं, तो उस चर का मान final मेथड में बदला जा सकता है।

डेटा प्रोसेसिंग एवं प्रोग्रामिंग में और विषय

अन्य विषय देखें