Versions Compared

Key

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

Oppgaven handler om en Person-klasse, som håndterer informasjon om en person. Denne klassen handler om innkapsling og validering.

Et Person-objekt har følgende tilstander:

...

et navn (både fornavn og etternavn)

...

, epost, fødselsdag og kjønn. Navnet inneholder både fornavn og etternavn, som begge må være minst to bokstaver langt og skilles med mellomrom. Et navn kan kun inneholde bokstaver.

...

En person epost-

...

adresse må inneholde en alfakrøll

...

, og i tillegg må

...

tegnet etter alfakrøllen være en bokstav. Etter alfakrøllen må det også være et punktum etterfulgt av minst to bokstaver.Minimumslengden for en epost er 6 karakterer.

...

En persons fødselsdag

...

skal være i formatet ”DDMMÅÅ”. Dag, måned og år må alle ha gyldige verdier. Dvs. at ”420293” ikke skal godtas som en gyldig fødselsdag.

...

Person-klassen har tilgangsmetoder for å hente og sette tilstandene. Metodene for å sette tilstandene må validere at navn og epost som settes er gyldige.

  • setName(String) 
  • setEmail(String) 
  • setBirthday(String)
  • setGender(char)

Alle metodene skal ta inn et argument sette tilstanden lik argument-verdien dersom argumentet er gyldig.

Del 1 – Java-kode

Implementer Person-klassen med stram innkapsling. Eventuelle hjelpemetoder for validering bør også ha stram innkapsling.

JExercise-testkode for denne oppgaven finner du her: stateandbehaviorencapsulation/PersonTest.java

Del 2 – Ekstraoppgave: Fødselsnummer

...

JExercise-testkode for denne oppgaven finner du her: stateandbehaviorencapsulation/PersonTest2.java

Include Page
Bunntekst for JExercise-oppgaver
Bunntekst for JExercise-oppgaver

...