Bank Account class is abstract since there is no single implementation for Withdrawal

image_pdfimage_print
   
 
using System;

public class MainClass {
    public static void Main(string[] strings) {
        SavingsAccount sa = new SavingsAccount();
        sa.Withdrawal(100);
        CheckingAccount ca = new CheckingAccount();
        ca.Withdrawal(100);
    }
}
abstract public class BankAccount {
    abstract public void Withdrawal(double dWithdrawal);
}
public class SavingsAccount : BankAccount {
    override public void Withdrawal(double dWithdrawal) {
        Console.WriteLine("Call to SavingsAccount.Withdrawal()");
    }
}

public class CheckingAccount : BankAccount {
    override public void Withdrawal(double dWithdrawal) {
        Console.WriteLine("Call to CheckingAccount.Withdrawal()");
    }
}