C++-এ মেথডগুলো ডিফল্টভাবে নন-ভার্চুয়াল। এগুলো virtual কীওয়ার্ড ব্যবহার করে ভার্চুয়াল ফাংশন বানানো যায়।
উদাহরণ কোড
#include <iostream>
using namespace std;
class B {
public:
void s() { // নন-ভার্চুয়াল ডিফল্টভাবে। ফাংশনের আগে virtual দিয়ে "In Derived" প্রিন্ট করানো যাবে
cout << " In Base \n";
}
};
class D: public B {
public:
void s() {
cout << "In Derived \n";
}
};
int main(void) {
D d; // ক্লাস D-এর অবজেক্ট
B &b = d;
b.s();
return 0;
}আউটপুট
In Base.
Java-তে মেথডগুলো ডিফল্টভাবে ভার্চুয়াল। এগুলো final কীওয়ার্ড ব্যবহার করে নন-ভার্চুয়াল বানানো যায়।
উদাহরণ কোড (Java)
class B {
public void s() {
System.out.println("In Base"); // ভার্চুয়াল ডিফল্টভাবে
}
}
class D extends B {
public void s() {
System.out.println(" In Derived");
}
}
public class Main {
public static void main(String[] args) {
B b = new D();
b.show();
}
}আউটপুট
In Base.