You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Denne oppgaven innfører et grensesnitt med utgangspunkt i en tidligere oppgave om mobilbruk og -abonnement.

I denne oppgaven tar vi utgangspunkt i oppgave om MobileUsage og MobileSubscription. I den oppgaven var MobileSubscription en vanlig klassen, som inneholdt data om pris for ulike typer forbruk og en metode for å beregne kostnad basert på registrert forbruk (lagret i MobileUsage-objekt). MobileSubscription var ment å være generell, men hadde likevel begrensningen at kostnadsberegningen var basert på en enkel lineær formel, og vil f.eks. ikke kunne håndtere at prisen øker hvis en går over en viss grense, eller det motsatte, at en får rabatt ved høyt forbruk.

I denne oppgaven skal MobileSubscription gjøres om til et grensesnitt som kun inneholder metoden for å beregne kostnad. Ulike formler for å beregne kostnad og parametrene som trengs for disse implementeres i spesifikk klasser som implementerer dette grensesnittet.

Del 1

Definer grensesnittet MobileSubscription, basert på beskrivelsen over. Definer en ny klasse StandardMobileSubscription som implementerer dette grensesnittet, basert på formelen og koden fra den tidligere oppgaven.

Del 2

Definer en ny klasse som implementerer MobileSubscription og beregner kostnad basert på følgende regel:

tale har en fast pris uavhengig av antall og lengde, som angis med setStaticCallCost og getStaticCallCost

tekstmeldinger har en fast pris pr. melding, som angis med setMessageCost og leses med getMessageCost (som for den tidligere oppgaven)

 

 

JExercise-testkode for oppgavene finner du her: interfaces/NamedTest.java 


JExercise lar deg sjekke din egen kode vha. forhåndslagde JUnit-tester og JExercise-panelet

Bruk av JExercise:

  1. Sørg for at jexercise-standalone.jar er lagt til i ditt prosjekts Build Path. Dette må gjøres hver gang du oppretter et nytt prosjekt, og det er derfor lurt å gjenbruke samme prosjekt til alle oppgaver.
  2. JExercise-tillegget må være installert. Installer tillegget fra følgende oppdateringsadresse: http://folk.ntnu.no/hal/dev/updatesite.
  3. Åpne JExercise-panelet via Window -> Show View -> Other, og navigere deg fram til JExercise i vinduet som kommer opp, velge det og klikke OK.
  4. Klikke og dra oppgavens testklasse, <oppgavenavn>Test.java fra pakkeoversikten og slippe den i JExercise panelet. 
  5. Testene kan så kjøres ved å dobbeltklikke på testen som ønskes kjørt.

Ved trøbbel, se først om du finner løsningen i Løsninger på trøbbel med JExercise.

Unknown macro: {html}

Twitre gjerne om oppgaven når du er ferdig: <a href="https://twitter.com/share" class="twitter-share-button" data-hashtags="jexercise">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

  • No labels