Versions Compared

Key

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

...

Excerpt

Denne oppgaven handler om klasser for kortspill: Card (kort), CardDeck (kortstokk) og CardHand (korthånd), hvorav de to siste inneholder én eller flere Card-objekter. Oppgaven bygger på Card og CardDeck i Innkapsling - Card-oppgave.

Merk: Om du ikke har gjort Card-oppgaven allerede, kan du bruke løsningsforslaget som er lagt ut under lf/src/encapsulation.

I mange sammenhenger vil objekter av en klasse inneholde eller "eie" objekter av andre klasser, og de underordnede objektene vil kunne flyttes/overføres mellom de overordnede. Når en klasse er assosiert med én instans av en (annen) klasse er dette en 1-1-assosiasjon og når en klasse er assosiert med flere instanser av en annen klasse er dette en 1-n-assosiasjon. Et eksempel er kortspill, hvor kortene starter i kortstokken, fordeles på korthender og til slutt ender i en kortbunke. Et kort kan bare være ett sted om gangen, og må overføres fra ett sted til et annet, f.eks. fra kortstokk til korthender i utdelingsfasen. I Innkapsling - Card-oppgave ble det lagd logikk for kortstokk og enkeltkort. I denne oppgaven skal du implementere logikk for korthender, og utvide kortstokkens logikk litt.

...

CardDeck-klassen har du også implementert, og denne må også kanskje flyttes på samme måte som Card. Denne klassen skal utvides: 

...

Utvid CardDeck og lag CardHand som beskrevet over. Test klassene med selvlagde main-metoder og ved å kjøre JUnit-testene.

Testkode for denne oppgaven finner du her:  objectstructures/ CardTest.java, CardDeckTest.javaCardHandTest.java. Originalkoden (jextest) finner du her: objectstructures/Card.jextest, CardDeck.jextestCardHand.jextest.

Include Page
Bunntekst for oppgaver
Bunntekst for oppgaver