Versions Compared

Key

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

...

  • Navnet inneholder både fornavn og etternavn (og ingen mellomnavn), som begge må være på minst to bokstaver langt, navnene må være skilt med ett mellomrom og kun inneholde bokstaver.
  • E-post-adressen (hvis den ikke er null) må være på formen fornavn.etternavn@domene.landskode, f.eks. hallvard.trætteberg@ntnu.no (en liste over landskoder finner du http://countrycode.org/ eller  her).
  • Fødselsdagen skal være et dato-objekt (java.util.Date) og kan ikke være frem i tid. 
  • En persons kjønn skal kunne returneres som 'M', 'F' eller '\0' (null-tegnet).

...

Gyldig tilstand
Excerpt Include
Gyldig tilstand
Gyldig tilstand
nopaneltrueGyldig tilstand
Innkapsling
Excerpt Include
Innkapsling
Innkapsling
nopaneltrueInnkapsling
Koding av valideringsmetoder
Excerpt Include
Koding av valideringsmetoder
Koding av valideringsmetoder
nopaneltrueKoding av valideringsmetoder
String-klassen
Excerpt Include
nopanel
java.lang.Stringtrue
java.lang.String
nopaneltrue

Del 1 – Java-kode

Implementer Person-klassen 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.

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

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

...

Foreslå to alternative strategier for å kapsle inn tilstand som er koblet slik navn og e-post er. Hint: 1) samtidig og 2) dekoble.

...

Ekstraoppgave: Personnummer

Utvid klassen med en persons personnummer. Personnummeret kan ikke settes før kjønn og fødselsdag er satt.

...

Implementer kode for å sette (med metoden setSSN(String) og validere et gyldig personnummer.

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

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