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

Compare with Current View Page History

« Previous Version 2 Next »

Oppgaven handler om en Vehicle-klasse, som håndterer informasjon om et kjøretøy og implementerer innkapslingsmetoder med validering.

Et Vehicle-objekt inneholder type kjøretøy, drivstoffet det bruker og registreringsnummer:

  • Typen kan være enten motorsykkel eller bil. Typen skal returneres som ‘M’ eller ‘C’.

  • Drivstoffet kan være enten hydrogen, elektrisitet, diesel eller bensin. Kun biler kan gå på hydrogen.  Drivstoffet skal returneres som ‘H’, ‘E’, ‘D’ eller ‘B’.

  • Gyldige registreringsnummeret avhenger av typen kjøretøy og drivstoff etter følgende regler:

    • Kjøretøy som går på elektrisitet skal ha registreringsnummer som starter med bokstavene “EL” eller “EK”

    • Hydrogenbilene har registreringsnummer som begynner med bokstavene “HY”

    • Dieselbilen og bensinbiler har registreringsnummer som begynner på to bokstaver. De kan ikke være “EK”, “EL” eller “HY”. Bokstavene Æ, Ø og Å skal ikke brukes.

    • For alle drivstoff gjelder det at det skal være brukt store bokstaver.

    • Ellers så gjelder det at motorsykler har 4 sifre etter bokstavene, mens biler har 5.


Type kjøretøy, drivstoff og registreringsnummer settes i konstruktøren om det er gyldig. Dersom det ikke er gyldig skal unntak av typen IllegalArgumentException.

Metoden setRegistrationNumber(String) skal kunne endre registreringsnummeret dersom det er gyldig i henhold til kravene over.

Vehicle-klassen må også ha getter-metoder for alle de 3 feltene.

Del 1 - Java-kode

Implementer Vehicle-klassen som beskrevet over med stram innkapsling. Eventuelle hjelpemetoder for validering bør også ha stram innkapsling.



  • No labels