Versions Compared

Key

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

...

  • Vehicle(char, char, String) - Konstruktør der argument-rekkefølgen må være kjøretøystype, drivstofftype og registreringsnummer. Ved ugyldige argumenter utløses unntak av typen IllegalArgumentException.

  • getFuelType() - returnerer type drivstoff som følgende: ‘H’ for hydrogen, ‘E’ for elektrisitet, ‘D’ for diesel eller ‘G’ for bensin.
  • getRegistrationNumber() - returnerer registreringsnummeret
  • setRegistrationNumber(String)  - endrer registreringsnummeret dersom det er gyldig i henhold til kravene over, og utløser unntak av typen IllegalArgumentException dersom det ikke er gyldig.

  • getVehicleType() - returnerer kjøretøystype: 'M' for motosykkel, 'C' for bil.

     

Del 1

...

Java-kode

Implementer Vehicle-klassen som beskrevet over med stram innkapsling. Eventuelle hjelpemetoder for validering bør også ha stram innkapsling. Det kan være lurt å lese om String-klassen og dens metoder før du setter i gang.

Testkode for denne oppgaven finner du her: encapsulation/VehicleTest.java

Merk at din implementasjon må ligge i en pakke med samme navn som testkodens pakke. Pass derfor på at Vehicle-klassen ligger i pakken "encapsulation".

Del 2 - JavaFX

Kjør den tilhørende JavaFX-applikasjonen (kjør Vehicle.fxml som FXML Application) og observer hva som skjer. Åpne VehicleController.java og finn ut hvor Person-klassen din blir brukt, og kommenter hva som skjer med den. Det er ikke et krav at du forstår resten av koden i PersonController, du skal kun forklare hvordan klassen din blir brukt.

Hjelp til kjøring av JavaFX og generelt om øvinger finner du i Hjelp til øvinger.