Versions Compared

Key

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

Exercise-panelet

Bruk av Exercise-panelet er obligatorisk for denne øvingen. Du må ha panelet åpent med CalculatorInheritance.ex-filen (tests > inheritance > CalculatorInheritance.ex) i før du begynner med oppgaven. For mer informasjon/hjelp, se nederst på forrige side, altså hovedsiden for Øving 9.

 

Excerpt

Oppgaven handler om å lage en enkel kalkulator og en RPN-kalkulator som arver fra den.

...

Når det kommer inn et tall, og det forrige som kom inn ikke var en operator, skal tallet tas til å være venstre operand.
Når det kommer inn et tall, og der forrige som kom inn var en operator, skal tallet tas til å være høyre operand, og inntil noe annet kommer kommer inn, skal hasOutput returnere true og getOutput skal være resultatet av utregningen. Resultatet skal også tas til å være venstre operand til neste gang.
Når det kommer inn en operator, skal det selfølgelig tas til å være operatoren skal skal brukes i utregningen.

 

Tester for SimpleCalculator kommer snartTestkode for SimpleCalculator finner du her: inheritance/SimpleCalculatorTest.java. Originalkoden (jextest) for testen finner du her: inheritance/SimpleCalculator.jextest.

Del 2: Subklasser

Lag en subklasse RPNCalculator. Denne skal arve fra SimpleCalculator, og skal redefinere takeInputNumber, takeInputOperator, hasOutput og getOutput. Her skal du gjenbruke resten av metodene fra SimpleCalculator.

...

Når det kommer inn et tall, skal det gå på stacken.
Når det kommer inn en operator, skal de første to tallene komme av stakken og bli regnet sammen, og  hasOutput returnere true og getOutput skal være resultatet av utregningen inntil noe annen annet kommer inn. Resultatet skal også inn på toppen av stakken.

Tester for RPNCalculator kommer snartTestkode for RPNCalculator finner du her: inheritance/RPNCalculatorTest.java. Originalkoden (jextest) for testen finner du her: inheritance/RPNCalculator.jextest.

Del 3:

...

Main-metode eller hovedprogramklasse

Lag en main-metode eller en hovedprogramklasse kalt CalculatorProgram med init- og run-metoder som spør . Her skal du spørre brukeren om hvilken type kalkulator som skal brukes og kjører denne med input og output. Husk at en subklasse kan også brukes som superklassen. Et felt av type SimpleCalculator kan være både en SimpleCalculator og en RPNCalculator. Bruk dette ved å f.eks. sette SimpleCalculator calc = new SimpleCalculator(); eller SimpleCalculator calc = new RPNCalculator(); avhenging av hvilket valg brukeren tar.Lag en main-metode i hovedprogramklassen som kjører init og run.

Exercise-panelet

Bruk av Exercise-panelet er obligatorisk for denne øvingen. Du må ha panelet åpent med CalculatorInheritance.ex-filen (tests > objectstructures CalculatorInheritance.ex) i før du begynner med oppgaven. For mer informasjon/hjelp, se nederst på forrige side, altså hovedsiden for Øving 9.

 

Include Page
Bunntekst for oppgaver
Bunntekst for oppgaver