Oystein Kristoffer Tveit b41d133be1 | ||
---|---|---|
.. | ||
img | ||
Card.md | ||
Partner.md | ||
Person.md | ||
README.md | ||
Stopwatch.md | ||
Twitter.md |
README.md
Øving 4: Objektstrukturer
Øvingsmål
- Lære hva assosiasjoner er og hvordan dette brukes i OO
- Lære hvordan man sikrer konsistent oppførsel mellom assosierte objekter
Øvingskrav
- Kunne implementere klasser som har assosiasjoner til én eller flere andre klasser
- Kunne sikre at disse assosiasjon er konsistente i enkle objektstrukturer
- Kunne implementere metoder som oppretter, oppdaterer og fjerner slike assosiasjoner
Dette må du gjøre
Del 1: Programmering
I denne øvingen skal du velge og gjennomføre ENTEN både Partner- og Card del 2-oppgavene ELLER minst én av Twitter-, Stopwatch- og Person-oppgavene. Merk at noen av oppgavene i neste øving (øving 6), bygger videre på noen av oppgavene under, disse er uthevet med fet skrift. Det er ikke et krav at man gjør de uthevede oppgavene, men de gir flere oppgaver å velge mellom i øving 6.
Gjør enten begge disse:
- Partner (lett)
- Card del 2 (lett)
Eller minst én av følgende oppgaver:
Oppgavene for denne øvingen skal du lagre i ovinger/src/main/java/objectstructures
. Test-filene ligger i ovinger/src/test/java/objectstructures
.
Alle oppgavene ovenfor er høyst eksamensrelevante og det anbefales følgelig å ta en titt på alle sammen.
Del 2: Klassediagram
- Lag et klassediagram for oppgaven(e) du velger.
Diagrammet kan for eksempel skrives på papir eller tegnes/lages i et valgfritt program. Du trenger ikke levere inn diagrammene, men de skal vises til studass under godkjenning av øvingen.
Del 3: Testing
Skriv kode som tester oppførselen til CoffeeCup
-klassen, dvs. at du skal teste om metodene i listen under har rett oppførsel og returnerer det de skal, i tillegg til at du skal teste konstruktørene. Det er ikke nødvendig å teste absolutt alle mulige tilfeller, men det kreves at du tester den grunnleggende funksjonaliteten.
getCapacity
getCurrentVolume
increaseCupSize
drinkCoffee
fillCoffee
Du finner CoffeeCup
-klassen under ovinger/src/main/java/objectstructures
.
Her er det anbefalt å bruke JUnit, men det er lov å teste vha. main-metoden også.
Hjelp / mistanke om bugs
Ved spørsmål eller behov for hjelp konsulter studassen din i saltiden hans / hennes. Du kan også oppsøke andre studasser på sal eller legge ut et innlegg på Piazza.
Godkjenning
Last opp kildekode på Blackboard innen den angitte innleveringsfristen. Innlevert kode skal demonstreres for en læringsassistent innen én uke etter innleveringsfrist. Se for øvrig Blackboard-sidene for informasjon rundt organisering av øvingsopplegget og det tilhørende øvingsreglementet.