Abstraction ဆိုတာ မလိုအပ်တဲ့ implementation detail တွေကို ဖုံးကွယ်ပြီး အသုံးပြုသူလိုအပ်တဲ့ feature ကိုသာပြတာပါ။ C# မှာ abstract class နဲ့ abstract method တွေသုံးပြီး common structure တစ်ခုသတ်မှတ်နိုင်ပါတယ်။
csharp
abstract class PaymentMethod
{
public abstract void Pay(decimal amount);
public void PrintReceipt(decimal amount)
{
Console.WriteLine($"Receipt amount: {amount}");
}
}
class CardPayment : PaymentMethod
{
public override void Pay(decimal amount)
{
Console.WriteLine($"Paid by card: {amount}");
}
}
class Program
{
static void Main(string[] args)
{
PaymentMethod payment = new CardPayment();
payment.Pay(25.50m);
payment.PrintReceipt(25.50m);
}
}အလုပ်လုပ်ပုံ
PaymentMethodက abstract class ဖြစ်ပြီး တိုက်ရိုက် object မလုပ်နိုင်ပါ။Paymethod ကို derived class က မဖြစ်မနေ override လုပ်ရပါတယ်။PrintReceiptက common method ဖြစ်ပြီး derived classes အားလုံးသုံးနိုင်ပါတယ်။
You should see
Paid by card: 25.50 Receipt amount: 25.50