परिचय
C++ में, क्लास मेंबर मेथड्स डिफ़ॉल्ट रूप से नॉन-वर्चुअल होते हैं। इसका मतलब है, उन्हें वर्चुअल बनाने के लिए इसे निर्दिष्ट किया जा सकता है।
दूसरी ओर, Java में, मेथड्स डिफ़ॉल्ट रूप से वर्चुअल होते हैं, और 'final' कीवर्ड की मदद से नॉन-वर्चुअल बनाए जा सकते हैं।
उदाहरण
class BaseClass{
public void displayMsg(){
System.out.println("बेस क्लास का displayMsg मेथड");
}
}
class DerivedClass extends BaseClass{
public void displayMsg(){
System.out.println("डेराइव्ड क्लास का displayMsg बुलाया गया");
}
}
public class Main{
public static void main(String[] args){
BaseClass myInstance = new BaseClass();
myInstance.displayMsg();
}
}आउटपुट
बेस क्लास का displayMsg मेथड'BaseClass' नाम की एक क्लास बनाई गई है, जिसमें 'displayMsg' नाम का एक फ़ंक्शन है। यह फ़ंक्शन केवल एक प्रासंगिक संदेश प्रदर्शित करता है। 'DerivedClass' नाम का एक अन्य फ़ंक्शन 'BaseClass' से इनहेरिट होता है। इस क्लास में भी 'displayMsg' होता है जो प्रासंगिक संदेश प्रदर्शित करता है। 'Main' नाम की एक अन्य क्लास में मुख्य फ़ंक्शन होता है, जहां BaseClass का एक इंस्टेंस बनाया जाता है। इस इंस्टेंस के साथ 'displayMsg' को कॉल किया जाता है और आउटपुट स्क्रीन पर प्रदर्शित होता है।