27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
|
# Tilstand og oppførsel – Account
|
|||
|
|
|||
|
Oppgaven handler om en `Account`-klasse, som håndterer data i en konto.
|
|||
|
Tilstanden i `Account`-objekter er som følger:
|
|||
|
|
|||
|
- `balance` - et desimaltall som angir beløpet som er på kontoen
|
|||
|
- `interestRate` - et desimaltall som angir rentefot som prosentpoeng.
|
|||
|
|
|||
|
`Account`-klassen har fem metoder, med følgende oppførsel:
|
|||
|
|
|||
|
- `deposit(double)` - øker konto-beløpet med den angitte argument-verdien (et desimaltall), men kun dersom det er positivt
|
|||
|
- `addInterest()` - beregner renta og legger det til konto-beløpet
|
|||
|
- `getBalance()` - returnerer beløpet som er på kontoen.
|
|||
|
- `getInterestRate()` - returnerer rentefoten
|
|||
|
- `setInterestRate(double)` - oppdaterer renten til å være den nye verdien
|
|||
|
|
|||
|
## Del 1 - Tilstandsdiagram
|
|||
|
|
|||
|
Tegn et objekttilstandsdiagram for en tenkt bruk av `Account`-klassen. Velg selv en passende start-tilstand for `Account`-objektet og sekvens av kall.
|
|||
|
|
|||
|
## Del 2 - Java-kode
|
|||
|
|
|||
|
Skriv Java-kode for `Account`-klassen med oppførsel som er beskrevet over.
|
|||
|
|
|||
|
Lag en passende `toString()`-metode og en `main`-metode, slik at du kan sjekke at oppførselen stemmer med tilstandsdiagrammet (bruk samme start-tilstand og sekvens av kall)
|
|||
|
|
|||
|
Testkode for denne oppgaven finner du her: [src/test/java/stateandbehavior/AccountTest.java](../../src/test/java/stateandbehavior/AccountTest.java).
|