protected string AccountID { get; set; }
public string OwnerName { get; set; }
public double Balance { get; set; }
private int OpeningYear { get; set; }
public BankAccount(string accountID, string ownerName, double balance, int openingYear)
OpeningYear = openingYear;
public void PrintOwnerName()
Console.WriteLine("Owner Name: " + OwnerName);
public virtual void ShowBalance()
Console.WriteLine("Balance: " + Balance);
public class CheckingAccount : BankAccount
public int WithdrawLimit { get; set; }
public CheckingAccount() { }
public CheckingAccount(string accountID, string ownerName, double balance, int openingYear, int withdrawLimit)
: base(accountID, ownerName, balance, openingYear)
WithdrawLimit = withdrawLimit;
public new void PrintOwnerName()
Console.WriteLine("CheckingAccount OwnerName: " + OwnerName);
public override void ShowBalance()
Console.WriteLine("CheckingAccount Balance: " + Balance);
public static void Main()
CheckingAccount ca = new CheckingAccount("A12345", "Mary", 5000, 12, 6);
BankAccount ba = new CheckingAccount("B6789", "John", 3000, 22, 6);