विषय - सूची[छिपाना][प्रदर्शन]
- 1. वस्तु उन्मुख प्रोग्रामिंग वास्तव में क्या है?
- 2. ओओपी क्यों आवश्यक हैं?
- 3. OOPS सिद्धांत क्या लाभ प्रदान करते हैं?
- 4. ओओपी अवधारणा के स्तंभ क्या हैं?
- 5. एक वर्ग वास्तव में क्या है?
- 6. वस्तु वास्तव में क्या है?
- 7. ओओपी की सीमाएं क्या हैं?
- 8. उत्तराधिकार क्या है?
- 9. एनकैप्सुलेशन क्या है?
- 10. बहुरूपता क्या है?
- 11. अमूर्तन वास्तव में क्या है?
- 12. मेथड ओवरलोडिंग वास्तव में क्या है?
- 13. विधि अधिभावी वास्तव में क्या है?
- 14. एक सुपरक्लास वास्तव में क्या है?
- 15. एक उपवर्ग वास्तव में क्या है?
- 16. स्थैतिक बहुरूपता वास्तव में क्या है?
- 17. गतिशील बहुरूपता वास्तव में क्या है?
- 18. एक निर्माता की धारणा का वर्णन करें।
- 19. एक्सेस संशोधक वास्तव में क्या हैं?
- 20. एक विनाशक वास्तव में क्या है?
- 21. संकर वंशानुक्रम वास्तव में क्या है?
- 22. पदानुक्रमित वंशानुक्रम वास्तव में क्या है?
- 23. विरासत की कमियां क्या हैं?
- 24. अपवाद वास्तव में क्या है?
- 25. अपवाद प्रबंधन वास्तव में क्या है, और इसके क्या लाभ हैं?
- 26. आभासी कार्य वास्तव में क्या हैं?
- 27. मित्र कार्य वास्तव में क्या है?
- 28. कचरा संग्रहण वास्तव में क्या है?
- 29. कपलिंग वास्तव में क्या है?
- 30. सामंजस्य वास्तव में क्या है?
- 31. एक कोशिश/पकड़ ब्लॉक का वर्णन करें।
- 32. एक अंतिम ब्लॉक का वर्णन करें।
- 33. एक इंटरफ़ेस वास्तव में क्या है?
- 34. रचना वास्तव में क्या है?
- 35. कंस्ट्रक्टर चेनिंग वास्तव में क्या है?
- निष्कर्ष
सबसे प्रभावशाली प्रोग्रामिंग प्रतिमानों में से एक को ओओपी, या ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कहा जाता है। कार्यों और प्रक्रियाओं के बजाय, यह कक्षाओं और वस्तुओं पर जोर देता है।
इसका मुख्य उद्देश्य डेटा और चीजों को जोड़ना है ताकि उनके साथ काम करना आसान हो। OOPs में प्रत्येक ऑब्जेक्ट प्रक्रियाओं या विधियों और डेटा के रूप में फ़ील्ड के रूप में कोड से बना होता है।
सी ++, ऑब्जेक्टिव सी, पायथन, पर्ल और जावा जैसी भाषाएं कुछ सबसे लोकप्रिय ऑब्जेक्ट-ओरिएंटेड हैं प्रोग्रामिंग की भाषाएँ.
इसके बारे में और अधिक समझना महत्वपूर्ण है क्योंकि उफ़ साक्षात्कार प्रश्न अत्यंत विशिष्ट हैं। अधिकांश फर्म ऐसे इंजीनियरों की तलाश में हैं जो वस्तु-उन्मुख विधियों और पैटर्न से परिचित हों। इसलिए, यदि आप एक साक्षात्कार में भाग लेने का इरादा रखते हैं, तो आपको ओओपी विचारों से अच्छी तरह वाकिफ होना चाहिए।
इस पोस्ट में शुरुआत से लेकर विशेषज्ञ स्तर तक विभिन्न वस्तु-उन्मुख प्रोग्रामिंग साक्षात्कार प्रश्न दिखाए जाएंगे। इसलिए आप किसी भी स्तर के साक्षात्कार को पास कर सकते हैं और अपने सपनों की स्थिति को सुरक्षित कर सकते हैं।
1. वस्तु उन्मुख प्रोग्रामिंग वास्तव में क्या है?
ऑब्जेक्ट-ओरिएंटेड (OOPs) प्रोग्रामिंग केवल कार्यों और प्रक्रियाओं के बजाय वास्तविक वस्तुओं पर आधारित है। व्यक्तिगत उत्पादों के लिए कक्षाएं बनाई जाती हैं।
वंशानुक्रम, बहुरूपता और छुपाना वास्तविक दुनिया की अवधारणाओं के उदाहरण हैं जिन्हें OOP प्रोग्रामिंग में शामिल करते हैं। यह डेटा और कोड को कनेक्ट करना भी संभव बनाता है।
2. ओओपी क्यों आवश्यक हैं?
ओओपी बेहतर होने के कई कारण हैं, हालांकि, निम्नलिखित सबसे महत्वपूर्ण हैं:
- ओओपी, लोगों को सॉफ्टवेयर को आसानी से समझने की अनुमति देता है, भले ही वे कार्यान्वयन से अपरिचित हों।
- ओह, दस के कारक से कोड पठनीयता, समझ और रखरखाव में सुधार करें।
- ओओपी का उपयोग करके, यहां तक कि बहुत बड़े अनुप्रयोगों को भी आसानी से बनाया और नियंत्रित किया जा सकता है।
3. OOPS सिद्धांत क्या लाभ प्रदान करते हैं?
- OOPS, प्रोग्रामिंग ऑब्जेक्ट वास्तविक दुनिया की वस्तुओं का अनुकरण करते हैं, जटिलता को कम करते हैं और प्रोग्राम स्पष्टता को बढ़ाते हैं।
- कई कार्यक्रमों में वस्तुओं का बार-बार उपयोग किया जा सकता है।
- प्रत्येक वस्तु एक अलग इकाई बनाती है जिसका आंतरिक संचालन अन्य सिस्टम घटकों से स्वतंत्र होता है।
- कुछ नई वस्तुओं को पेश करके और कुछ पहले से मौजूद लोगों को अपडेट करके, नई कार्यक्षमता जोड़ना या बदलती परिचालन स्थितियों के अनुकूल होना संभव है।
- एक OOPs प्रोग्राम की प्रक्रियाएं या डेटा प्रतिनिधित्व आसानी से छोटे समायोजन से गुजर सकते हैं।
4. ओओपी अवधारणा के स्तंभ क्या हैं?
OOP के प्रमुख स्तंभ निम्नलिखित हैं:
विरासत: यह कक्षाओं को किसी अन्य वर्ग की विशेषताओं को प्राप्त करने में सक्षम बनाता है।
कैप्सूलीकरण: इसे एक ऐसी वस्तु संपत्ति के रूप में परिभाषित किया गया है जो महत्वपूर्ण जानकारी छुपाती है। यह डेटा को कक्षा के सदस्यों से छुपाकर रखता है। विनिर्देशक वर्णन करते हैं कि कोड में ऑब्जेक्ट की विशेषता कैसे एक्सेस की जाती है।
बहुरूपता: यह आपको एक ही गतिविधि को कई तरीकों से करने की अनुमति देता है। यह इंटरफेस के माध्यम से पूरा किया जाता है, जिसमें हम एक इंटरफ़ेस घोषित करते हैं जिसे बाद में कई बार लागू किया जाता है।
मतिहीनता: आप इस फ़ंक्शन का उपयोग बाहरी दुनिया से महत्वपूर्ण जानकारी छिपाने और केवल आवश्यक तथ्यों को प्रस्तुत करने के लिए कर सकते हैं।
5. एक वर्ग वास्तव में क्या है?
एक वर्ग विभिन्न राज्यों में और अलग-अलग व्यवहारों के साथ वस्तुओं से बना एक प्रोटोटाइप है। इसकी कई विधियाँ हैं जो उस वर्ग की वस्तुओं द्वारा साझा की जाती हैं।
6. वस्तु वास्तव में क्या है?
एक वस्तु एक वास्तविक दुनिया की इकाई है जो ओओपी की मौलिक इकाई के रूप में कार्य करती है, जैसे कि कुर्सी, बिल्ली या कुत्ता। विभिन्न वस्तुओं में विभिन्न अवस्थाएँ, गुण और क्रियाएँ होती हैं।
7. ओओपी की सीमाएं क्या हैं?
- आकार अन्य अनुप्रयोगों की तुलना में बड़ा है।
- इसके लिए कुछ आदी होने की आवश्यकता है।
- कुछ प्रकार की समस्याओं के लिए इसकी आवश्यकता नहीं होती है।
- इसे बनाना श्रमसाध्य था, और अन्य अनुप्रयोगों की तुलना में, यह अधिक धीरे-धीरे संचालित होता है।
8. उत्तराधिकार क्या है?
वंशानुक्रम नामक एक धारणा एक वर्ग की स्थापित संरचना और व्यवहार को दूसरे वर्ग द्वारा साझा करने को संदर्भित करती है। जब वंशानुक्रम को एकल वर्ग पर लागू किया जाता है, तो इसे एकल वंशानुक्रम कहा जाता है; जब यह कई वर्गों पर निर्भर करता है, तो इसे कई विरासतों के रूप में जाना जाता है।
9. एनकैप्सुलेशन क्या है?
ओओपी के विचार में एनकैप्सुलेशन भी शामिल है। यह डेटा और डेटा हेरफेर तकनीकों के सम्मिश्रण का वर्णन करता है। इसके अतिरिक्त, यह किसी वस्तु के कुछ हिस्सों तक सीधी पहुंच को रोकने में सहायता करता है।
10. बहुरूपता क्या है?
OOP भाषाओं में, बहुरूपता एक मौलिक अवधारणा है। यह दिखाता है कि विभिन्न वर्ग एक इंटरफ़ेस कैसे साझा कर सकते हैं। ये वर्ग अद्वितीय इंटरफ़ेस कार्यान्वयन करने में सक्षम हैं।
11. अमूर्तन वास्तव में क्या है?
अमूर्त वस्तु-उन्मुख प्रोग्रामिंग (ओओपी) अवधारणा है जिसका उपयोग वास्तविक दुनिया की वस्तुओं की संरचना बनाने के लिए किया जाता है। यह केवल सबसे महत्वपूर्ण गुणों को "प्रदर्शित" करता है और बाहरी दुनिया से बाहरी जानकारी को "छिपाता" है। अमूर्तता का मूल लक्ष्य लोगों को अनावश्यक जानकारी से बचाना है।
12. मेथड ओवरलोडिंग वास्तव में क्या है?
दो या दो से अधिक प्रक्रियाओं के लिए एक ही नाम होना संभव है। हालांकि, उनके पास अलग-अलग पैरामीटर, पैरामीटर की अलग-अलग संख्या, अलग-अलग प्रकार या दोनों होने चाहिए। इन्हें अतिभारित विधियों के रूप में जाना जाता है, और इस सुविधा को विधि अधिभार के रूप में जाना जाता है।
13. विधि अधिभावी वास्तव में क्या है?
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में मेथड ओवरराइडिंग का विचार शामिल है। यह एक भाषा विशेषता है जो एक उपवर्ग या बाल वर्ग को उस पद्धति के अनुकूलित कार्यान्वयन की पेशकश करने देती है जो उसके सुपरक्लास या मूल वर्ग में से एक पहले से ही प्रदान करता है।
14. एक सुपरक्लास वास्तव में क्या है?
एक सुपरक्लास, जिसे अक्सर बेस क्लास के रूप में जाना जाता है, एक प्रकार का वर्ग है जो किसी अन्य वर्ग या कक्षाओं के माता-पिता के रूप में कार्य करता है। कार वर्ग, उदाहरण के लिए, वाहन नामक एक उपवर्ग है।
15. एक उपवर्ग वास्तव में क्या है?
एक उपवर्ग दूसरे वर्ग का उपवर्ग है। एक वैन, उदाहरण के लिए, एक वाहन उपवर्ग या व्युत्पन्न वर्ग है।
16. स्थैतिक बहुरूपता वास्तव में क्या है?
संकलन समय पर, एक प्रकार का बहुरूपता होता है जिसे स्थैतिक बहुरूपता (स्थिर बंधन) के रूप में जाना जाता है। मेथड ओवरलोडिंग एक प्रकार का कंपाइल-टाइम पॉलीमॉर्फिज्म है।
17. गतिशील बहुरूपता वास्तव में क्या है?
एक प्रकार का बहुरूपता जिसे रनटाइम में हल किया जाता है उसे रनटाइम बहुरूपता कहा जाता है, जिसे गतिशील बहुरूपता (गतिशील बंधन) के रूप में भी जाना जाता है। विधियों की ओवरराइडिंग रनटाइम बहुरूपता का एक उदाहरण है।
18. एक निर्माता की धारणा का वर्णन करें।
एक कंस्ट्रक्टर एक वर्ग का एक विशिष्ट तरीका है जिसे क्लास इंस्टेंस बनाने पर स्वचालित रूप से कॉल किया जाता है। जब आप कक्षा तक पहुँचते हैं, तो इसका निर्माण वर्ग के समान नाम से किया जाता है और इसके सभी सदस्यों को आरंभीकृत किया जाता है। एक कंस्ट्रक्टर की प्राथमिक विशेषताएं इस प्रकार हैं:
कंस्ट्रक्टर्स के लिए कोई रिटर्न टाइप नहीं है।
ओवरलोडिंग कंस्ट्रक्टर संभव है।
कंस्ट्रक्टर को निर्दिष्ट करने की आवश्यकता नहीं है; the.NET Framework इसे स्वचालित रूप से करेगा।
19. एक्सेस संशोधक वास्तव में क्या हैं?
ऑब्जेक्ट-ओरिएंटेड भाषाओं में, कीवर्ड एक्सेस मॉडिफायर या एक्सेस स्पेसिफायर होते हैं। यह कक्षाओं, विधियों और अन्य सदस्यों की पहुंच के विन्यास में सहायता करता है।
20. एक विनाशक वास्तव में क्या है?
एक विध्वंसक किसी वस्तु को सौंपे गए संसाधनों को जारी करने की एक विधि है। जब कोई वस्तु नष्ट हो जाती है, तो यह विधि स्वचालित रूप से कहलाती है।
21. संकर वंशानुक्रम वास्तव में क्या है?
हाइब्रिड इनहेरिटेंस एक तरह की इनहेरिटेंस है जो इनहेरिटेंस के कई रूपों जैसे सिंगल, मल्टीपल, और इसी तरह के मिश्रण से उत्पन्न होती है।
22. पदानुक्रमित वंशानुक्रम वास्तव में क्या है?
पदानुक्रमित वंशानुक्रम की स्थिति में कई उपवर्ग एक मूल वर्ग से विरासत में मिलते हैं। एक प्रकार का वंशानुक्रम जिसमें एक ही माता-पिता या आधार वर्ग से कई वर्ग उतरते हैं, पदानुक्रमित वंशानुक्रम के रूप में जाना जाता है। उदाहरण के लिए, फल वर्ग में उपवर्ग हो सकते हैं जैसे 'सेब, "आम," 'केला,' 'चेरी,' इत्यादि।
23. विरासत की कमियां क्या हैं?
यह निष्पादन प्रक्रिया को लंबा और जटिल बनाता है। यह विभिन्न वर्गों के बीच स्विच करने की भी आवश्यकता है। माता-पिता और बच्चे की कक्षाएं हमेशा अटूट रूप से जुड़ी हुई हैं।
पाठ्यक्रम में संशोधन के लिए माता-पिता और बच्चे की कक्षा दोनों के लिए संशोधन की आवश्यकता होगी। वंशानुक्रम सावधानी से लागू किया जाना चाहिए अन्यथा परिणाम गलत होंगे।
24. अपवाद वास्तव में क्या है?
अपवाद एक ऐसी घटना है जो कोड के सामान्य संचालन में हस्तक्षेप करती है। निष्पादन जारी रखने के लिए, आप जावा में इन अपवादों को संभाल सकते हैं। जावा में, कई प्रकार के पूर्व-परिभाषित अपवाद हैं, और ट्राइ-कैच ब्लॉक का उपयोग करके उठाए गए अपवादों को नियंत्रित करने के लिए अपवाद हैंडलिंग प्रदान की जाती है।
25. अपवाद प्रबंधन वास्तव में क्या है, और इसके क्या लाभ हैं?
अप्रत्याशित रनटाइम विफलताओं से निपटने के लिए जावा में सबसे महत्वपूर्ण तरीका अपवाद हैंडलिंग है। यह आपको प्रोग्राम निष्पादन के दौरान उत्पन्न होने वाली रनटाइम त्रुटियों को नियंत्रित करने की अनुमति देता है।
अपवाद प्रबंधन के लाभों में अपवादों को प्रबंधित करते हुए नियमित कार्यक्रम प्रवाह को बनाए रखने की क्षमता शामिल है। उदाहरण के लिए, यदि प्रोग्राम के एक सेक्शन में कोई त्रुटि होती है, तो इसका बाकी प्रोग्राम पर कोई प्रभाव नहीं पड़ेगा यदि हम ट्राइ-कैच ब्लॉक के साथ अपवाद को हैंडल करते हैं।
26. आभासी कार्य वास्तव में क्या हैं?
वर्चुअल फ़ंक्शंस भी पैरेंट क्लास के फ़ंक्शंस में शामिल होते हैं और उपवर्ग द्वारा ओवरराइड किए जाते हैं। ये रूटीन रनटाइम बहुरूपता की उपलब्धि में सहायता करते हैं।
27. मित्र कार्य वास्तव में क्या है?
एक मित्र फ़ंक्शन एक ऐसा फ़ंक्शन है जो एक वर्ग से संबंधित है और इसके सार्वजनिक, निजी या संरक्षित डेटा तक पहुंच की अनुमति है। यदि फ़ंक्शन को कक्षा के बाहर परिभाषित किया गया है, तो इस डेटा को पुनर्प्राप्त करना संभव नहीं है। एक्सेस कंट्रोल कीवर्ड निजी, सार्वजनिक और संरक्षित का मित्र घोषणा पर कोई असर नहीं पड़ता है, जिसे कक्षा घोषणा में कहीं भी बनाया जा सकता है।
28. कचरा संग्रहण वास्तव में क्या है?
कचरा संग्रह (जीसी) सी # और जावा जैसी प्रोग्रामिंग भाषाओं का एक तत्व है जो मेमोरी रिकवरी सिस्टम के रूप में कार्य करता है। एक कचरा संग्रह (जीसी) इंजन एक प्रोग्रामिंग भाषा का एक घटक है जो उन वस्तुओं के लिए स्वचालित मेमोरी स्पेस रिलीज की अनुमति देता है जो एप्लिकेशन अब उपयोग नहीं कर रहा है।
29. कपलिंग वास्तव में क्या है?
यह उन स्थितियों को संदर्भित करता है जिनमें विभिन्न वर्ग एक दूसरे पर भरोसा करते हैं और ज्ञान साझा करते हैं। एक मजबूत संबंध तब होता है जब एक वर्ग को दूसरे वर्ग का विस्तृत ज्ञान होता है। आप एक्सेस संशोधक का उपयोग करके कक्षाओं, विधियों या चर की दृश्यता निर्दिष्ट कर सकते हैं। कमजोर युग्मन प्रदान करने के लिए इंटरफेस का उपयोग किया जाता है।
30. सामंजस्य वास्तव में क्या है?
जिस तरह से एक घटक एक निश्चित गतिविधि को पूरा करता है, उसे उसका सामंजस्य कहा जाता है। एक मजबूत, एकजुट दृष्टिकोण केवल परिभाषित कार्य करेगा, जबकि एक कमजोर, एकजुट विधि एकल कार्य को कई छोटे कार्यों में विभाजित करेगी और फिर उन्हें पूरा करेगी।
Java.io पैकेज काफी सुसंगत है, लेकिन java.util पैकेज नहीं है।
31. एक कोशिश/पकड़ ब्लॉक का वर्णन करें।
जब कोई प्रोग्राम गलत कोड या डेटा के कारण त्रुटि का सामना करता है, तो "कोशिश करें" और "कैच" इंगित करते हैं कि इसे कैसे प्रबंधित किया जाए। एक कोशिश ब्लॉक अपवाद होने पर कोड के हिस्से का नाम है। कैच ब्लॉक का उपयोग ट्राई ब्लॉक से अपवादों को पकड़ने और उनसे निपटने के लिए किया जाता है।
32. एक अंतिम ब्लॉक का वर्णन करें।
कोशिश करें कीवर्ड का कोड का कार्यशील भाग अंतिम इंगित किया गया है। यह उस कोड को निर्दिष्ट करता है जो हमेशा परीक्षण के तुरंत बाद चलाया जाता है और विधि के पूरा होने से पहले कोई भी कैच ब्लॉक होता है। अंतिम ब्लॉक हमेशा चलाया जाता है चाहे कोई अपवाद फेंका जाए या पकड़ा जाए।
33. एक इंटरफ़ेस वास्तव में क्या है?
एक इंटरफ़ेस अमूर्त विधियों और उपयोगकर्ता द्वारा परिभाषित डेटा प्रकार का एक संयोजन है। एक वर्ग एक इंटरफ़ेस को लागू करता है, जो इंटरफ़ेस के सार कार्यों को विरासत में मिला है।
एक वर्ग किसी वस्तु के गुणों और व्यवहारों का प्रतिनिधित्व करता है, जबकि एक इंटरफ़ेस में वे व्यवहार शामिल होते हैं जो एक वर्ग लागू करता है। इंटरफ़ेस "क्या" का प्रतिनिधित्व करता है, जबकि वर्ग "कैसे" बताता है।
34. रचना वास्तव में क्या है?
एक कनेक्शन प्राप्त करने के लिए रचना का उपयोग किया जा सकता है। यह निर्भर और स्वतंत्र वस्तुओं के बीच एक मजबूत वस्तु लिंक को प्रदर्शित करता है, जैसा कि एकत्रीकरण के विपरीत है। इस परिस्थिति में आश्रित वस्तु मौजूद नहीं है और यदि मूल वस्तु मिटा दी जाती है तो उसे हटा दिया जाएगा।
35. कंस्ट्रक्टर चेनिंग वास्तव में क्या है?
कंस्ट्रक्टर चेनिंग वर्तमान ऑब्जेक्ट संदर्भ के संबंध में एक कंस्ट्रक्टर को दूसरे से कॉल करने की एक तकनीक है। दो विकल्प हैं:
- वर्तमान वर्ग में कंस्ट्रक्टर को "इस" कीवर्ड का उपयोग करके संदर्भित किया जा सकता है।
- बेस क्लास से कंस्ट्रक्टर को इनवाइट करने के लिए "सुपर" कीवर्ड का इस्तेमाल किया जाएगा।
निष्कर्ष
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग प्रोग्राम की संरचना के बारे में सोचने और समय से पहले तैयारी करने की आवश्यकता है। आवश्यकताओं को बुनियादी, पुन: प्रयोज्य वर्गों में विभाजित करने के तरीके की जांच करना जिनका उपयोग चीजों के उदाहरण बनाने के लिए किया जा सकता है।
कुल मिलाकर, OOP को अपनाने से बेहतरी मिलती है डेटा संरचनाएं और पुन: प्रयोज्य, जो लंबे समय में समय बचाता है। देखना हैशडॉर्क की साक्षात्कार श्रृंखला साक्षात्कार की तैयारी में मदद के लिए।
एक जवाब लिखें