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).

...

I tillegg til disse såkalte setter-metodene, så må Person-klassen ha tilsvarende getter-metoder.

Leseliste

...

Gyldig tilstand
Excerpt Include
Gyldig tilstand
Gyldig tilstand
nopaneltrue
Innkapsling
Excerpt Include
Innkapsling
Innkapsling
nopaneltrue
Koding av valideringsmetoder
Excerpt Include
Koding av valideringsmetoder
Koding av valideringsmetoder
nopaneltrue
String-klassen
Excerpt Include
java.lang.String

...

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