TDT4100/oppgavetekster/oving4/README.md

2.9 KiB

Ø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:

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

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.