top 30 oops interview questions
यह ट्यूटोरियल अक्सर पूछे जाने वाले ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग (OOP) साक्षात्कार प्रश्न और उत्तर का एक पूरा सेट प्रदान करता है:
सॉफ्टवेयर विकास का इतिहास लगभग 70 से अधिक वर्षों का है जहां विभिन्न भाषाओं जैसे फोरट्रान, पास्कल, सी, सी ++ का आविष्कार किया गया था। कई सॉफ्टवेयर अनुप्रयोगों को डिजाइन करने के लिए प्रक्रियात्मक भाषाओं को बनाने, कुछ बुनियादी गणितीय गणना करने के लिए हार्डवेयर को दिए गए आदेशों के रूप में कार्य करने वाले बयानों की एक श्रृंखला थी।
इंटरनेट के आविष्कार के साथ, जटिल अनुप्रयोगों को डिजाइन करने में सुरक्षित, स्थिर और मंच-स्वतंत्र और मजबूत भाषाओं की आवश्यकता थी।
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग प्लेटफ़ॉर्म-इंडिपेंडेंट, पोर्टेबल, सिक्योर और विभिन्न कॉन्सेप्ट्स से लैस है, जैसे एनकैप्सुलेशन, एब्सट्रैक्शन, इनहेरिटेंस, और पॉलिमॉर्फिज़्म।
OOPS के लाभ पुन: प्रयोज्यता, विस्तारशीलता, और प्रतिरूपकता हैं जो उत्पादकता में सुधार करते हैं, कोड पुन: उपयोग के कारण प्रतिरूपकता, तेजी से और विकास की कम लागत के कारण बनाए रखना आसान होता है, सुरक्षित और उच्च गुणवत्ता वाले अनुप्रयोगों का उत्पादन करता है।
आप क्या सीखेंगे:
बेसिक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट्स
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में व्यावसायिक समस्याओं के समाधान लाने के लिए बौद्धिक वस्तुओं, डेटा और इसके साथ जुड़े व्यवहार शामिल हैं। जावा प्रोग्रामिंग भाषा में, व्यावसायिक समस्याओं के लिए समाधान तैयार करने के लिए, डेवलपर्स अमूर्तता, एनकैप्सुलेशन, विरासत, और बहुरूपता जैसी अवधारणाओं को लागू करते हैं।
विभिन्न अवधारणाओं जैसे कि मतिहीनता जो अप्रासंगिक विवरणों की उपेक्षा करता है, कैप्सूलीकरण आंतरिक क्रियाकलापों पर किसी भी जटिलता का खुलासा किए बिना न्यूनतम क्या आवश्यक है, इस पर ध्यान केंद्रित करता है, विरासत माता-पिता वर्ग के गुणों को विरासत में देना या एक इंटरफेस का उपयोग करके कई विरासत को लागू करना, और बहुरूपता जो विधि अधिभार (स्थिर बहुरूपता) और विधि अधिभावी (गतिशील बहुरूपता) के गुणों का विस्तार करता है।
सबसे अक्सर पूछे जाने वाले ओओपीएस साक्षात्कार प्रश्न
Q # 1) जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग के द्वारा आपको क्या मतलब है?
उत्तर: OOP वस्तुओं से संबंधित है, जैसे वास्तविक जीवन की संस्थाएं जैसे कि पेन, मोबाइल, बैंक खाता जिसमें राज्य (डेटा) और व्यवहार (विधियाँ) हैं।
एक्सेस की सहायता से, इस डेटा और विधियों तक स्पेसर की पहुंच सुरक्षित की जाती है। एन्कैप्सुलेशन और एब्सट्रैक्शन की अवधारणाएं डेटा छिपाना और आवश्यक, वंशानुक्रम और बहुरूपता तक पहुंच प्रदान करती हैं, कोड के पुन: उपयोग और विधियों और निर्माणों को अधिभारित करने में मदद करती हैं, जिससे एप्लिकेशन प्लेटफ़ॉर्म-स्वतंत्र, सुरक्षित और मजबूत हो जाते हैं जैसे जावा।
Q # 2) क्या जावा शुद्ध वस्तु उन्मुख भाषा है?
उत्तर: जावा पूरी तरह से शुद्ध वस्तु-उन्मुख प्रोग्रामिंग भाषा नहीं है। निम्नलिखित कारण हैं:
- जावा आदिम डेटा प्रकारों जैसे इंट, फ्लोट, डबल, चार आदि का समर्थन और उपयोग करता है।
- आदिम डेटा प्रकार को ढेर के बजाय चर या स्टैक के रूप में संग्रहीत किया जाता है।
- जावा में, स्थैतिक विधियाँ एक वस्तु का उपयोग किए बिना स्थैतिक चर का उपयोग कर सकती हैं, जो वस्तु-उन्मुख अवधारणाओं के विपरीत है।
Q # 3) जावा में क्लास और ऑब्जेक्ट का वर्णन करें?
उत्तर: क्लास और ऑब्जेक्ट जावा जैसी ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषाओं में एक अभिन्न भूमिका निभाते हैं।
- क्लास एक प्रोटोटाइप या टेम्पलेट है जिसमें ऑब्जेक्ट द्वारा समर्थित राज्य और व्यवहार होता है और वस्तुओं के निर्माण में उपयोग किया जाता है।
- वस्तु वर्ग का एक उदाहरण है, उदाहरण के लिए, मानव एक वर्ग है जिसके पास एक कशेरुक प्रणाली, मस्तिष्क, रंग और ऊंचाई है और व्यवहार है जैसे कि कैनथिंक (), सक्षमटस्पीक (), आदि।
Q # 4) जावा में वर्ग और वस्तुओं के बीच क्या अंतर हैं?
उत्तर: जावा में वर्ग और वस्तुओं के बीच कुछ प्रमुख अंतर हैं:
कक्षा | वस्तु |
---|---|
कक्षा के वास्तविक-जीवन के उदाहरण एक हो सकते हैं • खाना बनाने का नुस्खा। • एक ऑटोमोबाइल इंजन के लिए ब्लू प्रिंट। | वस्तु के वास्तविक जीवन के उदाहरण हो सकते हैं • नुस्खा से तैयार भोजन। • ब्लू-प्रिंट के अनुसार निर्मित इंजन। |
वर्ग एक तार्किक इकाई है | वस्तु भौतिक इकाई है |
क्लास एक टेम्प्लेट है जिससे ऑब्जेक्ट बनाया जा सकता है | ऑब्जेक्ट क्लास का एक उदाहरण है |
क्लास एक प्रोटोटाइप है जिसमें समान वस्तुओं की स्थिति और व्यवहार होता है | वस्तुएं ऐसी संस्थाएं हैं जो वास्तविक जीवन में मौजूद हैं जैसे कि मोबाइल, माउस, या बौद्धिक वस्तुएं जैसे बैंक खाता |
क्लास को क्लास के शब्द के साथ घोषित किया जाता है जैसे क्लास क्लासनाम {} | ऑब्जेक्ट नए कीवर्ड के माध्यम से एम्प्लॉई एम्प के रूप में बनाया गया है = नया एम्प्लॉई (); |
कक्षा निर्माण के दौरान, स्मृति का आवंटन नहीं होता है | ऑब्जेक्ट निर्माण के दौरान, मेमोरी ऑब्जेक्ट को आवंटित की जाती है |
कक्षा कीवर्ड का उपयोग करके केवल एक-तरफ़ा वर्ग को परिभाषित किया गया है | ऑब्जेक्ट का निर्माण कई तरीकों से किया जा सकता है जैसे कि नया कीवर्ड, न्यू इनस्टेंस () विधि, क्लोन () और फ़ैक्टरी विधि का उपयोग करना। |
Q # 5) ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग की आवश्यकता क्यों है?
उत्तर: OOP अधिक सुरक्षा और नियंत्रण डेटा एक्सेस के लिए पहुँच विनिर्देशक और डेटा छुपाने की सुविधाएँ प्रदान करता है, फ़ंक्शन और ऑपरेटर ओवरलोडिंग के साथ ओवरलोडिंग प्राप्त की जा सकती है, कोड पुन: उपयोग संभव है क्योंकि पहले से ही बनाई गई वस्तुओं को अन्य कार्यक्रमों में उपयोग किया जा सकता है।
डेटा अतिरेक, कोड रखरखाव, डेटा सुरक्षा, और इनकैप्सुलेशन, एब्सट्रैक्शन, पॉलीमॉर्फिज़्म जैसी अवधारणाओं का लाभ, और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में विरासत पहले से इस्तेमाल की जाने वाली प्रक्रियात्मक प्रोग्रामिंग भाषाओं पर एक लाभ प्रदान करती है।
Q # 6) वास्तविक समय के उदाहरण के साथ अमूर्तता को समझाइए।
उत्तर: ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में अमूर्तता का मतलब है, जटिल आंतरिक को छुपाना लेकिन संदर्भ के संदर्भ में केवल आवश्यक विशेषताओं और व्यवहार को उजागर करना। वास्तविक जीवन में, अमूर्तता का एक उदाहरण एक ऑनलाइन शॉपिंग कार्ट है, किसी भी ई-कॉमर्स साइट पर कहें। एक बार जब आप किसी उत्पाद और बुक ऑर्डर का चयन करते हैं, तो आप समय पर अपने उत्पाद को प्राप्त करने में रुचि रखते हैं।
कैसे चीजें होती हैं जो आप में रूचि नहीं रखती हैं, क्योंकि यह जटिल है और छिपी हुई है। इसे अमूर्तन के रूप में जाना जाता है। इसी तरह, एटीएम का उदाहरण लें, आपके खाते से पैसे कैसे डेबिट किए जाते हैं, इसकी आंतरिकता की जटिलता को छिपा कर रखा जाता है, और आपको एक नेटवर्क के माध्यम से नकदी प्राप्त होती है। इसी तरह कारों के लिए, कैसे पेट्रोल इंजन को चलाता है ऑटोमोबाइल बेहद जटिल है।
Q # 7) कुछ वास्तविक समय के उदाहरण दीजिए और विरासत की व्याख्या कीजिए।
उत्तर: वंशानुक्रम का अर्थ है वंशानुक्रम द्वारा एक वर्ग (उप वर्ग) दूसरे वर्ग (सुपर वर्ग) के गुणों को प्राप्त करना। वास्तविक जीवन में, एक सामान्य साइकिल की विरासत का एक उदाहरण लें जहां यह एक अभिभावक वर्ग है और एक स्पोर्ट्स बाइक एक चाइल्ड क्लास हो सकती है, जहां स्पोर्ट्स बाइक को एक सामान्य बाइक के गियर के माध्यम से पैडल के साथ पहियों को घुमाने के गुण और व्यवहार विरासत में मिला है।
प्रश्न # 8) जावा में बहुरूपता कैसे काम करता है, वास्तविक जीवन के उदाहरणों के साथ समझाएं?
उत्तर: बहुरूपता अलग-अलग चीजों को करने के लिए कई रूपों या क्षमता की क्षमता है। वास्तविक जीवन में, एक ही व्यक्ति अलग-अलग कर्तव्यों का पालन करता है। इन-ऑफिस वह एक कर्मचारी है, घर पर, वह एक पिता है, स्कूल ट्यूशन के दौरान या बाद में वह एक छात्र है, सप्ताहांत में वह क्रिकेट खेलता है और खेल के मैदान में एक खिलाड़ी है।
विंडोज 10 के लिए सबसे अच्छा एमपी 3 डाउनलोडर
जावा में, दो प्रकार के बहुरूपता हैं
- संकलन समय बहुरूपता: यह विधि ओवरलोडिंग या ऑपरेटर ओवरलोडिंग द्वारा प्राप्त की जाती है।
- रनटाइम बहुरूपता: यह विधि अधिभावी द्वारा प्राप्त किया जाता है।
Q # 9) उत्तराधिकार कितने प्रकार के होते हैं?
उत्तर: विभिन्न प्रकार की विरासत नीचे सूचीबद्ध हैं:
- एकल वंशानुक्रम: सिंगल चाइल्ड क्लास को सिंगल पैरेंट क्लास की विशेषताएं विरासत में मिली हैं।
- एकाधिक वंशानुक्रम: एक वर्ग को एक से अधिक आधार वर्ग की विशेषताएं विरासत में मिली हैं और जावा में समर्थित नहीं है, लेकिन वर्ग एक से अधिक इंटरफ़ेस लागू कर सकता है।
- बहुस्तरीय विरासत: एक वर्ग एक व्युत्पन्न वर्ग से विरासत में मिल सकता है जो इसे एक नए वर्ग के लिए एक आधार वर्ग बनाता है, उदाहरण के लिए, एक बच्चे को अपने पिता से व्यवहार विरासत में मिलता है, और पिता को अपने पिता से विरासत में मिली विशेषताएं हैं।
- पदानुक्रमित वंशानुक्रम: एक वर्ग कई उपवर्गों द्वारा विरासत में मिला है।
- हाइब्रिड वंशानुक्रम: यह सिंगल और मल्टीपल इनहेरिटेंस का संयोजन है।
Q # 10) इंटरफ़ेस क्या है?
उत्तर: इंटरफ़ेस उस वर्ग के समान है जहां इसके तरीके और चर हो सकते हैं, लेकिन इसके तरीकों में एक शरीर नहीं है, बस एक हस्ताक्षर है जिसे सार पद्धति के रूप में जाना जाता है। इंटरफ़ेस में घोषित चर सार्वजनिक, स्थिर और डिफ़ॉल्ट रूप से अंतिम हो सकते हैं। जावा में एब्सट्रैक्शन और मल्टीपल इनहेरिटेंस के लिए इंटरफ़ेस का उपयोग किया जाता है, जहाँ क्लास कई इंटरफेस को लागू कर सकती है।
Q # 11) क्या आप एब्सट्रैक्शन और इनहेरिटेंस के फायदे बता सकते हैं?
उत्तर: अमूर्तता केवल उपयोगकर्ता के लिए आवश्यक विवरणों को प्रकट करती है और अप्रासंगिक या जटिल विवरणों को अनदेखा या छुपा देती है। दूसरे शब्दों में, डेटा एब्स्ट्रक्शन इंटरफ़ेस को उजागर करता है और कार्यान्वयन विवरण को छुपाता है। जावा इंटरफेस और अमूर्त कक्षाओं की मदद से अमूर्त प्रदर्शन करता है। अमूर्तता का लाभ यह है कि यह कार्यान्वयन की जटिलता को कम या छिपाकर चीजों को देखने में सरल बनाता है।
कोड के दोहराव से बचा जाता है, और यह कोड पुन: प्रयोज्य को बढ़ाता है। उपयोगकर्ता के लिए केवल आवश्यक विवरण सामने आते हैं और आवेदन की सुरक्षा में सुधार होता है।
वंशानुक्रम वह जगह है जहाँ बच्चे की कक्षा को मूल वर्ग की कार्यक्षमता (व्यवहार) विरासत में मिलती है। हमें एक बार फिर से चाइल्ड क्लास में कार्यक्षमता के लिए पैरेंट क्लास में लिखे गए कोड को लिखने की जरूरत नहीं है और इस तरह से कोड का पुन: उपयोग करना आसान हो जाता है। कोड पठनीय भी हो जाता है। वंशानुक्रम का उपयोग वहां किया जाता है जहां 'एक' संबंध है। उदाहरण: हुंडई एक है कार या एमएस वर्ड एक है सॉफ्टवेयर।
Q # 12) एक्सटेंशन्स और इम्प्लीमेंट्स में क्या अंतर है?
उत्तर: कीवर्ड का विस्तार और कार्यान्वयन दोनों का उपयोग वंशानुक्रम के लिए किया जाता है लेकिन अलग-अलग तरीकों से।
जावा में एक्सटेंड्स और इम्प्लीमेंट कीवर्ड के बीच अंतर नीचे दिए गए हैं:
का विस्तार | औजार |
---|---|
एक वर्ग दूसरे वर्ग का विस्तार कर सकता है (अपनी विशेषताओं को विरासत में लेकर माता-पिता का विस्तार करने वाला बच्चा)। इंटरफ़ेस के रूप में अच्छी तरह से इनहेरिट (कीवर्ड का उपयोग करके) एक और इंटरफ़ेस। | एक वर्ग एक इंटरफ़ेस लागू कर सकता है |
सुपर क्लास का विस्तार करने वाला सब क्लास, सुपर क्लास के सभी तरीकों को ओवरराइड नहीं कर सकता है | वर्ग कार्यान्वयन इंटरफ़ेस को इंटरफ़ेस के सभी तरीकों को लागू करना है। |
वर्ग केवल एक ही सुपर क्लास का विस्तार कर सकता है। | वर्ग किसी भी संख्या में इंटरफेस को लागू कर सकता है। |
इंटरफ़ेस एक से अधिक इंटरफेस का विस्तार कर सकता है। | इंटरफ़ेस किसी अन्य इंटरफ़ेस को लागू नहीं कर सकता है। |
वाक्य - विन्यास: क्लास चाइल्ड क्लास पेरेंट का विस्तार करता है | वाक्य - विन्यास: वर्ग हाइब्रिड गुलाब लागू करता है |
Q # 13) जावा में विभिन्न एक्सेस मॉडिफायर क्या हैं?
उत्तर: जावा में एक्सेस मॉडिफायर्स क्लास, कंस्ट्रक्टर, वेरिएबल, मेथड या डेटा मेंबर के एक्सेस स्कोप को नियंत्रित करता है। विभिन्न प्रकार के एक्सेस मॉडिफायर इस प्रकार हैं:
- डिफ़ॉल्ट पहुँच संशोधक किसी भी एक्सेस स्पेसियर डेटा सदस्यों, वर्ग और विधियों के बिना है, और एक ही पैकेज के भीतर पहुंच योग्य है।
- निजी एक्सेस संशोधक कीवर्ड निजी के साथ चिह्नित होते हैं, और केवल कक्षा के भीतर पहुंच योग्य होते हैं, और एक ही पैकेज से कक्षा तक पहुंच योग्य भी नहीं होते हैं।
- संरक्षित पहुँच संशोधक एक ही पैकेज या विभिन्न संकुल से उपवर्गों के भीतर पहुँचा जा सकता है।
- सार्वजनिक पहुंच संशोधक हर जगह से सुलभ हैं।
Q # 14) अमूर्त वर्ग और विधि के बीच अंतर बताइए?
उत्तर: जावा में अमूर्त वर्ग और सार पद्धति के बीच कुछ अंतर हैं:
सार वर्ग | सार विधि |
---|---|
एब्स्ट्रैक्ट क्लास से ऑब्जेक्ट नहीं बनाया जा सकता है। | अमूर्त विधि में एक हस्ताक्षर है लेकिन एक शरीर नहीं है। |
उप वर्ग ने अमूर्त वर्ग के सदस्यों तक पहुंचने के लिए सार वर्ग बनाया या विरासत में मिला। | सुपर क्लास के अमूर्त तरीकों को उनके उप वर्ग में ओवरराइड करना अनिवार्य है। |
अमूर्त वर्ग में अमूर्त विधियाँ या गैर सार विधियाँ हो सकती हैं। | अमूर्त पद्धति वाली कक्षा को अमूर्त वर्ग बनाया जाना चाहिए। |
Q # 15) विधि और निर्माणकर्ता के बीच क्या अंतर हैं?
उत्तर: जावा में कंस्ट्रक्टर और विधियों के बीच अंतर हैं:
कंस्ट्रक्टर्स | तरीकों |
---|---|
रचनाकारों का नाम कक्षा के साथ मेल खाना चाहिए। | विधियों में कक्षा नाम के समान नाम नहीं होना चाहिए। |
वे ऑब्जेक्ट को मेमोरी बनाने, शुरू करने और आवंटित करने के लिए उपयोग किए जाते हैं। | विधियों का उपयोग उनके अंदर लिखे गए कुछ कथनों को निष्पादित करने के लिए किया जाता है। |
जब भी ऑब्जेक्ट्स बनाए जाते हैं, तो कंस्ट्रक्टरों को सिस्टम द्वारा इनवॉइस किया जाता है। | इसे बुलाए जाने पर तरीके लागू किए जाते हैं। |
उन्हें क्लास (ऑब्जेक्ट) का एक उदाहरण बनाते समय नए कीवर्ड का उपयोग करने के लिए आमंत्रित किया जाता है। | कार्यक्रम निष्पादन के दौरान तरीके लागू किए जाते हैं। |
कन्स्ट्रक्टर के पास रिटर्न प्रकार नहीं है। | विधि का रिटर्न प्रकार है। |
कंस्ट्रक्टर को उपवर्ग द्वारा विरासत में नहीं मिला जा सकता है। | विधियों को एक उप वर्ग द्वारा विरासत में मिला जा सकता है। |
Q # 16) जावा में एक कंस्ट्रक्टर क्या है?
उत्तर: कंस्ट्रक्टर एक प्रकार है बिना रिटर्न प्रकार और इसका नाम कक्षा के नाम के समान है। जब हम एक ऑब्जेक्ट बनाते हैं, तो एक डिफ़ॉल्ट कंस्ट्रक्टर जावा कोड के संकलन के दौरान किसी ऑब्जेक्ट के लिए मेमोरी आवंटित करता है। कन्स्ट्रक्टर्स का उपयोग ऑब्जेक्ट्स को इनिशियलाइज़ करने के लिए किया जाता है और ऑब्जेक्ट एट्रिब्यूट्स के लिए शुरुआती वैल्यूज़ सेट करता है।
Q # 17) जावा में कितने प्रकार के कंस्ट्रक्टर का उपयोग किया जा सकता है? कृपया समझाएँ।
उत्तर: जावा में मूल रूप से तीन प्रकार के निर्माता हैं।
ये:
- डिफ़ॉल्ट निर्माता: यह कंस्ट्रक्टर बिना किसी पैरामीटर के होता है और हर बार जब आप किसी क्लास (ऑब्जेक्ट) का इंस्टेंस बनाते हैं तो इनवॉइस करते हैं। यदि एक वर्ग एक कर्मचारी है, तो डिफ़ॉल्ट निर्माता का सिंटैक्स कर्मचारी () होगा।
- नो-आर्ग कंस्ट्रक्टर: जैसा कि नाम से ही स्पष्ट है, बिना तर्क के एक निर्माणकर्ता को नो-आर्ग कंस्ट्रक्टर कहा जाता है।
- पैरामीटर तैयार: कई मापदंडों के साथ कंस्ट्रक्टर को एक पैरामीटर निर्मित निर्माता कहा जाता है। आपको उस कंस्ट्रक्टर में डेटा प्रकार के मापदंडों के संबंध में तर्क, अर्थात् प्रारंभिक मूल्य प्रदान करना आवश्यक है।
Q # 18) जावा में नए कीवर्ड का उपयोग क्यों किया जाता है?
उत्तर: जब हम क्लास, यानी ऑब्जेक्ट का एक उदाहरण बनाते हैं, तो हम जावा कीवर्ड का उपयोग करते हैं नवीन व । यह ढेर क्षेत्र में स्मृति आवंटित करता है जहां एक वस्तु के लिए जेवीएम आरक्षित स्थान। आंतरिक रूप से, यह डिफ़ॉल्ट निर्माता को भी आमंत्रित करता है।
वाक्य - विन्यास:
Class_name obj = new Class_name();
Q # 19) आप सुपर कीवर्ड का उपयोग कब करते हैं?
उत्तर: सुपर एक जावा कीवर्ड है जिसका उपयोग माता-पिता (आधार) वर्ग की पहचान या संदर्भ के लिए किया जाता है।
- हम सुपर क्लास कंस्ट्रक्टर तक पहुंचने और सुपर क्लास के कॉल तरीकों का उपयोग करने के लिए सुपर का उपयोग कर सकते हैं।
- जब सुपर क्लास को संदर्भित करने के लिए सुपर क्लास और सब क्लास में विधि नाम समान हैं, तो सुपर कीवर्ड का उपयोग किया जाता है।
- माता-पिता वर्ग के समान नाम डेटा सदस्यों तक पहुंचने के लिए जब वे माता-पिता और बच्चे वर्ग में मौजूद हों।
- सुपर अभिभावक वर्ग के नो-आर्ग और पैरामीटराइज्ड कंस्ट्रक्टरों को स्पष्ट कॉल करने के लिए इस्तेमाल किया जा सकता है।
- अभिभावक वर्ग विधि का उपयोग करके किया जा सकता है सुपर , जब बाल वर्ग ने विधि को ओवरराइड कर दिया है।
Q # 20) आप इस कीवर्ड का उपयोग कब करते हैं?
उत्तर: इस जावा में कीवर्ड कंस्ट्रक्टर या विधि में वर्तमान ऑब्जेक्ट को संदर्भित करता है।
कैसे एक .swf चलाने के लिए
- जब क्लास एट्रिब्यूट और पैरामीटराइज्ड कंस्ट्रक्टर्स दोनों का एक ही नाम हो, इस कीवर्ड का उपयोग किया जाता है।
- कीवर्ड इस वर्तमान वर्ग निर्माता को आमंत्रित करता है, वर्तमान वर्ग की विधि, वर्तमान वर्ग की वस्तु को लौटाता है, निर्माता में एक तर्क पारित करता है, और विधि कॉल करता है।
Q # 21) रनटाइम और कम्पाइल-टाइम पॉलिमोर्फिज्म में क्या अंतर है?
उत्तर: रनटाइम और कंपाइल-टाइम पॉलीमॉर्फिज्म दोनों ही पॉलीमोर्फिज्म के दो अलग-अलग प्रकार हैं। उनके अंतर नीचे दिए गए हैं:
संकलन समय बहुरूपता | रनटाइम पॉलीमॉर्फिज़्म |
---|---|
कॉल को कंपाइल-टाइम पॉलीमॉर्फिज़्म में एक कंपाइलर द्वारा हल किया जाता है। | कॉल रनटाइम बहुरूपता में संकलक द्वारा हल नहीं किया जाता है। |
इसे स्टैटिक बाइंडिंग और मेथड ओवरलोडिंग के रूप में भी जाना जाता है। | इसे डायनामिक, लेट, और मेथड ओवरराइडिंग के रूप में भी जाना जाता है। |
एक ही हस्ताक्षर और विभिन्न वापसी प्रकारों के साथ अलग-अलग मापदंडों या विधियों के समान नाम विधियाँ संकलन-समय बहुरूपता हैं। | समान मापदंडों के साथ समान नाम पद्धति या विभिन्न वर्गों में जुड़े हस्ताक्षर को विधि अधिभावी कहा जाता है। |
यह फ़ंक्शन और ऑपरेटर ओवरलोडिंग द्वारा प्राप्त किया जाता है। | यह संकेत और आभासी कार्यों द्वारा प्राप्त किया जा सकता है। |
जैसा कि सभी चीजों को संकलन समय पर निष्पादित किया जाता है। संकलन-समय बहुरूपता कम लचीला है। | चूंकि चीजें रन टाइम पर निष्पादित होती हैं, रनटाइम पॉलीमॉर्फिज्म अधिक लचीला होता है। |
Q # 22) जावा में किस ऑब्जेक्ट-ओरिएंटेड फीचर्स का उपयोग किया जाता है?
उत्तर: जावा प्रोग्रामिंग लैंग्वेज में किसी ऑब्जेक्ट का उपयोग करने की अवधारणा ऑब्जेक्ट-ओरिएंटेड कॉन्सेप्ट्स के उपयोग से होती है, जैसे किसी वस्तु के राज्य और व्यवहार को एक साथ बांधने के लिए एनकैप्सुलेशन, एक्सेस स्पेसर्स के साथ डेटा एक्सेस को सुरक्षित करता है, सूचना छिपाने में एब्सट्रैक्शन, स्टेट को विस्तारित करने के लिए वंशानुक्रम , बेस क्लास और चाइल्ड क्लासेस, कम्पाइल-टाइम और रनटाइम पॉलिमोर्फ़िज्म के लिए विधि ओवरलोडिंग और विधि ओवरराइडिंग के लिए क्रमशः व्यवहार।
Q # 23) मेथड ओवरलोडिंग क्या है?
उत्तर: जब एक ही नाम के दो या दो से अधिक तरीकों में या तो अलग-अलग संख्या में पैरामीटर होते हैं या विभिन्न प्रकार के पैरामीटर होते हैं, तो इन विधियों में अलग-अलग रिटर्न प्रकार हो सकते हैं या नहीं भी हो सकते हैं, फिर वे ओवरलोडेड तरीके हैं, और सुविधा विधि ओवरलोडिंग है। विधि अधिभार को संकलित समय बहुरूपता भी कहा जाता है।
Q # 24) विधि ओवरराइडिंग क्या है?
उत्तर: जब सब क्लास की एक विधि (व्युत्पन्न, चाइल्ड क्लास) का एक ही नाम, पैरामीटर (हस्ताक्षर) होता है, और इसकी सुपर क्लास (बेस, पैरेंट क्लास) में विधि के समान रिटर्न प्रकार होता है, तो उपवर्ग में विधि को ओवरराइड कहा जाता है सुपरक्लास में विधि। इस सुविधा को रनटाइम पोलिमोर्फ़िज्म के रूप में भी जाना जाता है।
Q # 25) कंस्ट्रक्टर ओवरलोडिंग के बारे में बताएं।
उत्तर: एक से अधिक कंस्ट्रक्टर के पास अलग-अलग पैरामीटर होते हैं ताकि प्रत्येक कंस्ट्रक्टर के साथ अलग-अलग कार्य किए जा सकें, जिसे कंस्ट्रक्टर ओवरलोडिंग कहा जाता है। कंस्ट्रक्टर ओवरलोडिंग के साथ, वस्तुओं को विभिन्न तरीकों से बनाया जा सकता है। जावा एपीआई में विभिन्न संग्रह कक्षाएं कंस्ट्रक्टर ओवरलोडिंग के उदाहरण हैं।
Q # 26) जावा में किस प्रकार के तर्कों का उपयोग किया जा सकता है?
उत्तर: जावा विधियों और कार्यों के लिए, पैरामीटर डेटा को विभिन्न तरीकों से भेजा और प्राप्त किया जा सकता है। अगर मेथडब () मेथड ए (ए) से कहा जाता है, मेथड () एक कॉलर फंक्शन है और मेथडब () को फंक्शन कहा जाता है, मेथडेजा द्वारा भेजे गए तर्क () मेथड के वास्तविक तर्क और पैरामीटर हैं () को औपचारिक तर्क कहा जाता है।
- मूल्य से कॉल करें: औपचारिक पैरामीटर (मेथडबेड () के पैरामीटर में किए गए परिवर्तन) कॉलर (मेथड ()) को वापस नहीं भेजे जाते हैं, इस विधि को कहा जाता है मूल्य से कॉल करें । जावा कॉल को वैल्यू के आधार पर सपोर्ट करता है।
- संदर्भ द्वारा कॉल करें: औपचारिक पैरामीटर (मेथडबेड () के पैरामीटर) में किए गए परिवर्तन को कॉलर (मेथोडब () के मापदंडों) पर वापस भेजा जाता है।
- औपचारिक मापदंडों (मेथोडब () के मापदंडों) में कोई भी बदलाव वास्तविक मापदंडों (मेथडामा द्वारा भेजे गए तर्क) () में परिलक्षित होता है। इसे कॉल बाय रेफरेंस कहा जाता है।
Q # 27) स्थैतिक और गतिशील बंधन में अंतर है?
उत्तर: स्टैटिक और डायनामिक बाइंडिंग के बीच के अंतर को नीचे दी गई तालिका में समझाया गया है।
स्थैतिक बंधन | गतिशील बंधन |
---|---|
जावा में स्टेटिक बाइंडिंग एक संकल्प के रूप में खेतों और वर्ग के प्रकार का उपयोग करता है। | जावा में डायनेमिक बाइंडिंग बाइंडिंग को हल करने के लिए ऑब्जेक्ट का उपयोग करता है। |
विधि अतिभार स्थैतिक बंधन का एक उदाहरण है। | मेथड ओवरराइडिंग डायनेमिक बाइंडिंग का एक उदाहरण है। |
संकलन समय पर स्थिर बंधन का समाधान हो जाता है। | डायनामिक बाइंडिंग रन टाइम में हल हो जाती है। |
स्थैतिक बंधन का उपयोग करने के तरीके और चर निजी, अंतिम और स्थिर प्रकार हैं। | आभासी विधियां गतिशील बंधन का उपयोग करती हैं। |
Q # 28) क्या आप बेस क्लास, सबक्लास और सुपरक्लास की व्याख्या कर सकते हैं?
उत्तर: जावा में बेस क्लास, सब क्लास और सुपर क्लास को निम्न प्रकार से समझाया गया है:
- बेस क्लास या पैरेंट क्लास एक सुपर क्लास है और एक क्लास है जिसमें से सब क्लास या चाइल्ड क्लास ली जाती है।
- उप वर्ग एक वर्ग है जो आधार वर्ग से गुण (गुण) और तरीके (व्यवहार) विरासत में मिला है।
Q # 29) क्या ऑपरेटर ओवरलोडिंग जावा में समर्थित है?
उत्तर: ऑपरेटर अधिभार जावा के रूप में समर्थित नहीं है,
- यह दुभाषिए को ऑपरेटर की वास्तविक कार्यक्षमता को समझने के लिए अधिक प्रयास करता है जिससे कोड जटिल और संकलन करना मुश्किल हो जाता है।
- ऑपरेटर ओवरलोडिंग कार्यक्रमों को अधिक त्रुटि-प्रवण बनाता है।
- हालांकि, ऑपरेटर ओवरलोडिंग की सुविधा को सरल, स्पष्ट और त्रुटि रहित तरीके से ओवरलोडिंग की विधि में प्राप्त किया जा सकता है।
Q # 30) अंतिम विधि का उपयोग कब किया जाता है?
उत्तर: को अंतिम रूप देने विधि को कचरा एकत्र होने से ठीक पहले कहा जाता है। यह विधि मेमोरी लीक्स को कम करने, सिस्टम संसाधनों को हटाने के द्वारा क्लीनअप गतिविधियों को करने के लिए आगे बढ़ती है।
Q # 31) टोकन के बारे में बताएं।
उत्तर: जावा प्रोग्राम में टोकन सबसे छोटे तत्व हैं जिन्हें कंपाइलर पहचानता है। पहचानकर्ता, कीवर्ड, शाब्दिक, ऑपरेटर और विभाजक टोकन के उदाहरण हैं।
निष्कर्ष
ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट्स डेवलपर्स के लिए एक अभिन्न अंग हैं, ऑटोमेशन के साथ-साथ मैन्युअल टेस्टर्स जो किसी एप्लिकेशन का परीक्षण करने या जावा प्रोग्रामिंग लैंग्वेज के साथ एप्लिकेशन विकसित करने के लिए ऑटोमेशन टेस्टिंग फ्रेमवर्क डिजाइन करते हैं।
क्लास, ऑब्जेक्ट, एब्स्ट्रक्शन, इनकैप्सुलेशन, इनहेरिटेंस, पॉलीमॉर्फिज़्म जैसी सभी ऑब्जेक्ट-ओरिएंटेड सुविधाओं के लिए गहराई से समझ अनिवार्य है, और ग्राहकों की आवश्यकताओं को प्राप्त करने के लिए जावा जैसी प्रोग्रामिंग भाषा में इन अवधारणाओं को लागू करना।
हमने सबसे महत्वपूर्ण ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग साक्षात्कार प्रश्नों को कवर करने की कोशिश की है और उदाहरणों के साथ उचित उत्तर दिए हैं।
हम आपके आगामी साक्षात्कार के लिए शुभकामनाएँ देते हैं!
अनुशंसित पाठ
- OOP जावा: जावा में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का परिचय
- प्रोग्रामिंग और कोडिंग साक्षात्कार के लिए शीर्ष 20 जावा साक्षात्कार कार्यक्रम
- शीर्ष 50+ कोर जावा साक्षात्कार प्रश्न और उत्तर
- उदाहरण के साथ जावा इंटरफेस और एब्सट्रैक्ट क्लास ट्यूटोरियल
- जावा में एनकैप्सुलेशन: उदाहरणों के साथ पूरा ट्यूटोरियल
- जावा में अमूर्तता क्या है - उदाहरणों के साथ जानें
- OOPS कॉन्सेप्ट इन C #: ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग कॉन्सेप्ट ट्यूटोरियल
- पायथन OOPs अवधारणाओं (पायथन क्लासेस, ऑब्जेक्ट्स और इनहेरिटेंस)