Interface for qBeta module object
AccountHierarchy: obj
Date: Value
year: var integer
toDay: var Date
Account:
-- Representation of an account
balance: var Float
interestRate: var Float
deposit: -- iflg Eiffel.Inheritance er denne
SavingsAccount: Account
bindingPeriod: var Date -- eller Period?
minimumBalance: var Float -- to avoid monthly fees
withdraw:
-- needs to check that it is after bindingPeriod
-- but here we do not have virtuals/extension
newBindingPeriod:
CreditAccount: Account
maxCredit: var Float
overdrawInterest: var Float -- interest for going over maxCredit
changeCredit:
RetirementAccount: SavingsAccount
retirementAge: var Integer -- min age to start payments
lastRetirementAge: var Integer -- latest age to start payments
-- bindingPeriod actually defines retirementAge,
-- so rA may not be needed!?
noOfMonthlyPayOutRates: var integer
-- en pensionsopsparing udbetales typisk i 10 årlige rater
sv: obj SavingsAccount
ra: obj RetirementAccount