Excerpt |
---|
Denne oppgaven omhandler innkapsling og validiering av klasser i oppgaver som du finner under temaet Tilstand og oppførsel og Gyldig tilstand. |
Oppgaver:
- Digit-oppgave
- Location-oppgave med maks og min
- Calculator-oppgave
- Rectangle-oppgave
- Stack for tilfeldige String-objekter
- UpOrDownCounter-oppgave
- LineEditor-oppgave med fri peker
Merk at spesifikasjonen for LineEditor og Location er litt utvidet for denne oppgaven.
Del 1 – Innkapsling og validering: teori
Ta utgangspunkt i (koden for) den originale klassen og besvar følgende spørsmål:
- Hvordan skal private og public brukes for at denne klassen skal være korrekt innkapslet?
- Hva slags validering bør legges til for å sikre gyldig tilstand?
- Hvilke metoder må evt. legges til?
- Vil du karakterisere denne klassen som data-orientert eller tjeneste-orientert. Begrunn svaret!
Del 2 - Java-kode
Implementer endringene foreslått i punktene 1-3 og prøv ut klassene.
JExercise-testkoder for denne oppgaven finner du her:
- encapsulation/CalculatorTest.java
- encapsulation/DigitTest.java
- encapsulation/LineEditorTest.java
- encapsulation/LocationTest.java
- encapsulation/RectangleTest.java
- encapsulation/StackTest.java
- encapsulation/UpOrDownCounterTest.java
NB: JExercise-testkodene viser om du har innkapslet på samme måte som fagstaben har gjort. Din kode kan fungere selv om testene feiler, dersom du har valgt en løsere/strammere innkapsling iht. argumentasjonen i 1-3.
Include Page | ||||
---|---|---|---|---|
|