Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Denne oppgaven bygger videre på Account-oppgavene under Gyldig tilstand, under Innkapsling og Tilstand og oppførsel.

Del 1 - SavingsAccount implements

...

Account

En bank består av mange ulike type kontoer: sparekontoer, brukskontoer, depositumskontoer, støttekontoer etc. Felles for alle kontoer er Account-grensesnittet, som er definert under:

...

  • SavingsAccount(double) - konstruktør som tar inn rentefoten på kontoen (et desimaltall, f.eks. 0.05 tilsvarer en rente på 5 %). Åpningsbalansen skal være 0.

  • void endYearUpdate() - forrenter kontobalansen basert på rentefoten. Vi tenker oss at denne kalles av kode utenfor denne klassen, f.eks. resten av et tenkt banksystem ved årsoppgjør, som et signal på at nå er et nytt år over.

Vær oppmerksom på at du i Del 2 og 3 skal lage subklasser av SavingsAccount og at du ved å bruke rett innkapsling (hintprotected-modifikatoren) kan la subklassene nyttiggjøre seg superklassen i størst mulig grad.

JExercise-testkode for Testkode for oppgavene finner du her: inheritance/SavingsAccountTest.java. Originalkoden (jextest) for testen finner du her: inheritance/SavingsAccountTestSavingsAccount.jextest.

Del 2 - BSU extends SavingsAccount

...

  • BSU(double, double) - konstruktør som tar inn rentefoten på kontoen og et desimaltall som angir hvor mye det er tillatt å sette inn på kontoen per år. 

  • double getTaxDeduction() - returnerer skattefradrag for inneværende år. Dette vil være 20 % av innskutt(e) beløp siste år.

JExercise-testkode for Testkode for oppgavene finner du her: inheritance/BSUTest.java. Originalkoden (jextest) for testen finner du her: inheritance/BSUTestBSU.jextest.


Del 3 - ForeldreSpar extends SavingsAccount

...

  • ForeldreSpar(double, int) - konstruktør som tar inn rentefoten på kontoen og et heltall som angir antall lovlige uttak per år.

  • int getRemainingWithdrawals() - returnerer antall gjenstående uttak fra sparekontoen.

JExercise-testkode for

Testkode for oppgavene finner du her: inheritance/ForeldreSparTest.java. Originalkoden (jextest) for testen finner du her: inheritance/ForeldreSpar.jextest.


Exercise-panelet

Bruk av Exercise-panelet er obligatorisk for denne øvingen. Du må ha panelet åpent med SavingsAccount.ex-filen (tests > inheritance > SavingsAccount.ex) i før du begynner med oppgaven. For mer informasjon/hjelp, se nederst på forrige side, altså hovedsiden for Øving 9.

 

Include Page
Bunntekst for JExercise- oppgaver
Bunntekst for JExercise- oppgaver