protected string AccountID {get; set;}
public string OwnerName {get; set;}
public double Balance {get; set;}
private int OpeningYear {get; set;}
public BankAccount(string aID, string Owner, double Bal, int oYear)
public void PrintOwnerName()
Console.WriteLine("Owner: {0}", OwnerName);
public virtual void ShowBalance()
Console.WriteLine("Balance: {0}", Balance);
public class CheckingAccount : BankAccount
public int WithdrawLimit {get; set;}
public CheckingAccount() { }
public CheckingAccount(string aID, string Owner, double Bal, int oYear, int wdLimit) : base (aID, Owner, Bal, oYear)
public new void PrintOwnerName()
Console.WriteLine("CheckingAccount OwnerName: {0}", OwnerName);
public override void ShowBalance()
Console.WriteLine("Checking Account Balance: {0}", Balance);
Console.WriteLine(AccountID);
public static void Main()
CheckingAccount ca = new CheckingAccount( "A12345", "Mary", 5000, 12, 6);
BankAccount ba = new CheckingAccount("B6789", "John", 3000, 22, 6);