...
En bank består av mange ulike type kontoer: sparekontoer, brukskontoer, depositumskontoer, støttekontoer etc. Felles for alle kontoer er den abstrakt AbstractAccount-klassen, som er en utvidet implementasjon implementert variant av grensesnittet fra SavingsAccount-oppgaven.
...
- void deposit(double) - øker kontobalansen med innskutt beløp. Merk at det innskutte beløpet må være positivt. Ved ulovlig innskudd skal en IllegalArgumentException utløses.
- void withdraw(double) - Metoden kaller internalWithdraw(uttaksbeløp), som implementeres i hver subklasse. Hvis uttaksbeløpet er negativt skal metoden utløse en IllegalArgumentException.
- abstract void internalWithdraw(double) - minsker kontobalansen med beløpet som blir tatt ut. Merk at reglene for uttak er ulik for klassene som implementerer AbstractAccount, og må derfor implementeres i hver klasse. Hvis det ikke er mulig å ta ut det angitte beløpet skal metoden utløse en IllegalStateException.
- double getbalance() - returnerer kontobalansen.
I tillegg må Account må AbstractAccount ha en tilstand balance for saldo på kontoen. Saldoen skal settes til 0 i konstruktøren.
...