Versions Compared

Key

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

...

Denne oppgaven bygger på klasser fra Objekstrukturer - fra Card-oppgaveoppgaven. Her skal du lage og implementere et grensenitt , kalt CardContainer, som spesifiserer metoder felles for alle former for alle grupperinger av spillkortfor lesing av samlinger av Card-objekter.

Del 1 - CardContainer interface

Lag Definer et felles grensesnitt, CardContainer, som CardHand- og CardDeck-klassene skal implementere. CardContainer-grensenittet skal utvide (extends) Iterable<Card>-grensesnittet. Metodene CardContainer-grensesnitt, med etodene som er felles for CardHand og CardDeck er :

  • getCardCount()
  • getCard(int n)

...

Gjør nødvendig endringer i CardHand- og CardDeck-klassene for å implementere CardContainer-grensesnittet.

Del 3 -

...

Iterator for CardContainer

...

Lag en klasse kalt CardContainerIterator, som er en Iterator for alle klasser som implementerer CardContainer-interfacetgrensesnittetCardContainerIteratorinstansieres med en CardContainer og implementere Iterator<Card>-grensensittet.ha en konstruktør som tar inn en instans av (en klasse som implementerer) CardContainer.

HintHINT: Merk at CardContainerIterator ikke vet om CardContainer-objektet er et CardDeck-objekt, et CardHand-objekt eller et annet objekt som implementerer CardContainer. Den har derfor ikke tilgang til de interne listene i CardHand og CardDeck. Hvilke metoder må alle klasser som implementerer CardContainer ha, og hvordan kan disse metodene brukes for å lage en Iterator?

...