অ্যাবস্ট্রাক্ট ক্লাসে অ্যাবস্ট্রাক্ট মেথড থাকে, যেগুলো ডেরাইভড ক্লাসে ইমপ্লিমেন্ট করা হয়। ডেরাইভড ক্লাসগুলো আরও স্পেশালাইজড ফাংশন্যালিটি প্রদান করে।
উদাহরণ
using System;
namespace Demo {
abstract class Shape {
public abstract int area();
}
class Rectangle : Shape {
private int length;
private int width;
public Rectangle(int a = 0, int b = 0) {
length = a;
width = b;
Console.WriteLine("Rectangle এর দৈর্ঘ্য: " + length);
Console.WriteLine("Rectangle এর প্রস্থ: " + width);
}
public override int area() {
return (width * length);
}
}
class RectangleTester {
static void Main(string[] args) {
Rectangle r = new Rectangle(14, 8);
double a = r.area();
Console.WriteLine("Area: {0}", a);
Console.ReadKey();
}
}
}
আউটপুট
Rectangle এর দৈর্ঘ্য: 14 Rectangle এর প্রস্থ: 8 Area: 112
উপরের আমাদের অ্যাবস্ট্রাক্ট ক্লাস:
abstract class Shape {
public abstract int area();
}
অ্যাবস্ট্রাক্ট ক্লাসের নিয়মগুলো
- একটি অ্যাবস্ট্রাক্ট ক্লাসের ইনস্ট্যান্স তৈরি করা যায় না
- একটি অ্যাবস্ট্রাক্ট মেথড অ্যাবস্ট্রাক্ট ক্লাসের বাইরে ডিক্লেয়ার করা যায় না
- যখন একটি ক্লাস sealed ডিক্লেয়ার করা হয়, তবে সেটি ইনহেরিট করা যায় না; অ্যাবস্ট্রাক্ট ক্লাস sealed ডিক্লেয়ার করা যায় না।