Virtual ফাংশন
- বেস ক্লাসে ইমপ্লিমেন্টেশন থাকে।
- ডেরাইভড ক্লাসে
override করে পরিবর্তন করা যায় (ঐচ্ছিক)।
- অবস্ট্রাক্ট বা নন-অবস্ট্রাক্ট ক্লাসে থাকতে পারে।
Abstract ফাংশন
- বেস ক্লাসে ইমপ্লিমেন্টেশন নেই (শুধু সিগনেচার)।
- ডেরাইভড ক্লাসে অবশ্যই
override করতে হয়।
- শুধু
abstract ক্লাসে থাকতে পারে।
Virtual উদাহরণ
class Shape {
public virtual int Area() { return 0; }
}
class Rectangle : Shape {
public override int Area() { return width * height; }
}
Abstract উদাহরণ
abstract class Vehicle {
public abstract void Display();
}
class Car : Vehicle {
public override void Display() => Console.WriteLine("Car");
}
আউটপুট (Abstract উদাহরণ)
Bus
Car
Motorcycle