Versions Compared

Key

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

...

Employee-grensesnittet har følgende metoder:

  • String getName() - returnerer den ansattes navn

  • void doCalculations(BinaryOperator<Double> operation, double value1, double value2) - regner ut resultatet av å utføre operation med argumentene value1 og value2

  • void printDocument(String document) - Printer document. Hvordan dette gjøres avhenger av den spesifikke implementasjonen 

  • int taskCount() - returnerer hvor mange oppgaver (beregninger og printinger)
     som har blitt utført av eller på vegne av dette Employee-objektet
  • int resourceCount() - antallet employees til rådighet,
  • inkludert
  • inkludert Employee-
  • instansen
  • objektet metoden blir kalt på. En Employee skal altså medregne seg selv i antall ressurser
  • personen
  • den ansatte har til rådighet. Dette tallet skal inkludere alle Employee-objekter nedover i hierarkiet.

Lag dette grensesnittet, og lag så en Clerk-klasse som implementerer det. Klassen skal ha følgende konstruktør:

...

Clerk-klassen må inneholde egen logikk for å løse doCalculations, men skal delegere printDocuments til en Printer-klasse.

...

  • Manager (Collection<Employee> employees)

Utvid også Employee-grensesnittet med følgende metode:

La så Manager  implementere  implementere Employee-grensesnittet. Implementer oppgavene ved å delegere alle videre til en av arbeiderne i listen med med Clerk-objekter gitt i konstruktørenEn Clerk har altså kun én tilgjengelig ressurs, mens Manager-objekter vil ha flere.


Testkode for Manager er her:  ... Originalkoden for testen(jextest) kan du finne her: ...

...

Lag et hovedprogram som illustrerer hva som skjer med effektiviteten når vi legger til flere nivåer med mellomledere.

Lag først et Manager-objekt som blir tildelt noen Clerks-objekter under seg.