...
I denne oppgaven tar vi utgangspunkt i en Person-klasse som har et navn (String) bestående av fornavn ("given name") og etternavn ("family name").
Del 1
Definer et grensesnitt Named med innkapslingsmetoder for fornavn, etternavn og fulle navn.
de abstrakte metodene
- setGivenName(String) og String getGivenName() for å sette og hente fornavn,
- setFamilyName(String) og String getFamilyName() for å sette og hente etternavn, og
- setFullName(String) og String getFullName() for å hente personens hele navn.
Del 2
Lag en Person-klasse som implementerer grensesnittet Named. Person-klassen kan ha enten ett eller to felter for personnavnet avhengig av hva man finner enklest. Man kan anta at brukere oppretter Person-objekter med gyldige navn, altså trenger man ikke å implementere valideringsmetoder.
Del 3
For å kunne sammenligne Named-objekter, f. eks. for å sortere en kontaktliste, kan vi lage en klasse NamedComparator som implementerer grensesnittet Comparator. NamedComparator-objektet skal brukes for å sammenligne navn parvis: Først på etternavn, og deretter på fornavn om etternavnene er like. Dette gjøres ved å implementere metoden int compare(Named named1, Named named2) med følgende logikk:
- Dersom etternavnene er ulike skal
-
--------------------------------
Resten er foreløpig sakset fra Card-oppgaven...
...