Needs["CSM`Classes`"]

Class[ Account, Object,
       {balance, owner},
       {{new,      Function[{bal,own}, new[super]; balance=bal; owner=own]},
        {Balance,  Function[{}, balance]},
        {Deposit,  Function[{amt}, balance += amt]},
        {Withdraw, Function[{amt}, balance -= amt]},
        {Owner,    Function[{}, owner]}
       }
]

Class[ SavingsAccount, Account,
       { },
       {{Withdraw, Function[{amt}, If[ Balance[self] < amt,
                                       Message[Account::nomoney, Balance[self], amt],
                                       Withdraw[super, amt] ]
                   ]}
       }
]

Account::nomoney = "Balance `1` insufficient for withdrawal of `2`."

Null
