जावा में एक आभासी कार्य क्या है?



यह लेख जावा में आभासी कार्य की अवधारणा को बहुरूपता में अपने अनुप्रयोगों और उदाहरणों के साथ रन-टाइम पर लागू करने के कार्यों को शामिल करता है।

जावा एक है जो बहुरूपता, वंशानुक्रम, अमूर्तता आदि जैसी अवधारणाओं का समर्थन करता है। ये ओओपी अवधारणाएं घूमती हैं कक्षाएं , वस्तुएं और सदस्य कार्य। वर्चुअल फ़ंक्शन एक ऐसी अवधारणा है जो रन-टाइम पॉलीमॉर्फिज़्म में मदद करता है। इस ब्लॉग में, हम वर्चुअल फंक्शन के बारे में जानेंगे । इस लेख में निम्नलिखित विषयों पर चर्चा की गई है।

जावा में एक वर्चुअल फंक्शन क्या है?

वर्चुअल फ़ंक्शन का व्यवहार हो सकता है ओवरराइड किया हुआ एक ही नाम के साथ इनहेरिटिंग क्लास फ़ंक्शन के साथ। इसे मूल रूप से बेस क्लास में परिभाषित किया गया है और विरासत में मिली क्लास में ओवरराइड किया गया है।





इस कीवर्ड का उपयोग करने के 6 तरीके क्या हैं

जावा में वर्चुअल फ़ंक्शन को परिभाषित किए जाने की उम्मीद है । बेस क्लास के संदर्भ या सूचक का उपयोग करके व्युत्पन्न वर्ग की वस्तु को संदर्भित करके हम वर्चुअल फ़ंक्शन को कॉल कर सकते हैं।

जावा में हर गैर-स्थैतिक विधि डिफ़ॉल्ट रूप से एक आभासी विधि है। जावा में वर्चुअल कीवर्ड नहीं है सी ++ , लेकिन हम उन्हें परिभाषित कर सकते हैं और उन्हें रन-टाइम बहुरूपता जैसी अवधारणाओं के लिए उपयोग कर सकते हैं।



वर्चुअल फ़ंक्शन उदाहरण

हम जावा में आभासी कार्यों का उपयोग कैसे कर सकते हैं यह समझने के लिए एक उदाहरण देखें।

वर्ग वाहन {शून्य मेक () {System.out.println ('हैवी ड्यूटी ’)}} सार्वजनिक श्रेणी के ट्रक वाहन का विस्तार करते हैं {शून्य बनाना () {System.out.println (' भारी शुल्क के लिए परिवहन वाहन)}} सार्वजनिक शून्य मुख्य (स्ट्रिंग args []) {वाहन ob1 = नए ट्रक () ob1.make ()}}
 आउटपुट: भारी शुल्क के लिए परिवहन वाहन

जावा में प्रत्येक गैर-स्थैतिक विधि को छोड़कर एक आभासी कार्य है अंतिम तथा निजी तरीके । बहुरूपता के लिए जिन विधियों का उपयोग नहीं किया जा सकता है, उन्हें आभासी फ़ंक्शन के रूप में नहीं माना जाता है।

सेवा मेरे एक आभासी कार्य नहीं माना जाता है क्योंकि एक स्थिर विधि कक्षा के लिए बाध्य है। इसलिए हम स्थैतिक विधि को ऑब्जेक्ट नाम या वर्ग के लिए नहीं कह सकते । यहां तक ​​कि जब हम स्थैतिक विधि को ओवरराइड करते हैं तो यह बहुरूपता की अवधारणा के साथ प्रतिध्वनित नहीं होता है।



वर्चुअल फंक्शन्स विद इंटरफेसेस

सभी जावा इंटरफेस आभासी हैं, वे विधि कार्यान्वयन प्रदान करने के लिए कार्यान्वयन कक्षाओं पर भरोसा करते हैं। निष्पादन के लिए कोड रन-टाइम पर चुना जाता है। यहां बेहतर समझ के लिए एक सरल उदाहरण है।

इंटरफ़ेस कार {शून्य लागू करें ()} इंटरफ़ेस ऑडी लागू करता है कार {शून्य लागू करें () {System.out.println ('एप्लाइड्स को तोड़ता है)}}

यहां applyBreaks () वर्चुअल है क्योंकि इंटरफेस में फ़ंक्शन ओवरराइड करने के लिए डिज़ाइन किए गए हैं।

शुद्ध आभासी कार्य

शुद्ध आभासी फ़ंक्शन एक आभासी फ़ंक्शन है जिसके लिए हमारे पास कार्यान्वयन नहीं हैं। जावा में एक सार पद्धति को एक शुद्ध आभासी फ़ंक्शन माना जा सकता है। इसे बेहतर समझने के लिए एक उदाहरण लेते हैं।

अमूर्त वर्ग डॉग {अंतिम शून्य छाल () {System.out.println ('woof')} अमूर्त शून्य कूद () // यह एक शुद्ध आभासी कार्य है} वर्ग MyDog डॉग {शून्य कूद () 'System.out.println ('हवा में कूदता है')}} सार्वजनिक वर्ग धावक {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {डॉग ob1 = नया MyDog () ob1.jump ()}}
 आउटपुट: हवा में कूदता है

यह है कि वर्चुअल फ़ंक्शन का उपयोग अमूर्त वर्ग के साथ कैसे किया जा सकता है।

रन-टाइम बहुरूपता

रन-टाइम बहुरूपता तब है जब ओवरराइड विधि के लिए कॉल को रन-टाइम के बजाय हल किया जाता है संकलन-समय । अधिरोहित विधि को आधार वर्ग के संदर्भ चर के माध्यम से कहा जाता है।

class Edureka {public void show () {System.out.println ('welcome to edureka')}}} क्लास कोर्स का विस्तार Edureka {public void show () {System.out.println ('Java प्रमाणन कार्यक्रम))} public static void मुख्य (स्ट्रिंग args []) {Edureka ob1 = नया कोर्स () ob1.show ()}}
 आउटपुट: जावा सर्टिफिकेशन कोर्स

याद दिलाने के संकेत

  • जावा में एक आभासी फ़ंक्शन के लिए, आपको एक स्पष्ट घोषणा की आवश्यकता नहीं है। यह कोई भी है हमारे पास एक आधार वर्ग है और उसी नाम के साथ व्युत्पन्न वर्ग में फिर से परिभाषित किया गया है।

  • बेस क्लास पॉइंटर का उपयोग व्युत्पन्न वर्ग की वस्तु को संदर्भित करने के लिए किया जा सकता है।

  • कार्यक्रम के निष्पादन के दौरान, व्युत्पन्न वर्ग कार्यों को कॉल करने के लिए बेस क्लास पॉइंटर का उपयोग किया जाता है।

यह हमें इस लेख के अंत में लाता है जहां हमने जावा में वर्चुअल फ़ंक्शन के बारे में सीखा है। मुझे आशा है कि आप इस ट्यूटोरियल में आपके साथ साझा किए गए सभी के साथ स्पष्ट हैं।

यदि आपको यह लेख 'वर्चुअल फंक्शन इन जावा' प्रासंगिक है, तो देखें दुनिया भर में फैले 250,000 से अधिक संतुष्ट शिक्षार्थियों के नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी।

एसक्यूएल में कार्यों के प्रकार

हम यहां आपकी यात्रा में हर कदम पर आपकी मदद करने और एक पाठ्यक्रम के साथ आने के लिए तैयार हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं। पाठ्यक्रम आपको जावा प्रोग्रामिंग में एक शुरुआत देने के लिए डिज़ाइन किया गया है और आपको विभिन्न के साथ कोर और उन्नत जावा अवधारणाओं दोनों के लिए प्रशिक्षित करता है पसंद सीतनिद्रा में होना और

यदि आपको कोई प्रश्न आता है, तो 'वर्चुअल फंक्शन इन जावा' के टिप्पणी अनुभाग में अपने सभी प्रश्न पूछने के लिए स्वतंत्र महसूस करें और हमारी टीम जवाब देने में प्रसन्न होगी।