public static void Main()
IAccount saving = new Savings();
IAccount chequing = new Chequing();
IAccount rrsp = new Rrsp();
Console.WriteLine(saving.Balance);
Console.WriteLine(chequing.Balance);
Console.WriteLine(rrsp.Balance);
void Deposit(decimal amount);
void Withdraw(decimal amount);
private decimal _balance;
public void Deposit(decimal amount)
public void Withdraw(decimal amount)
public decimal Balance {get{return _balance;}}
class Chequing : IAccount
private decimal _balance;
public void Deposit(decimal amount)
public void Withdraw(decimal amount)
public decimal Balance { get { return _balance; } }
private decimal _balance;
public void Deposit(decimal amount)
public void Withdraw(decimal amount)
if (_balance - amount < 0)
throw new Exception(string.Format("Withdrawing {0} would put your account in overdraft.",amount));
public decimal Balance { get { return _balance; } }