Vi tar utgangspunkt i Tilstand og oppførsel - Location-oppgave og legger til attributter for minimum- og maksimum-verdier for x og y, som følger:
- minX, minX - minste lovlige x- og y-verdier
- maxX, maxY - største lovlige x- og y-verdier
En kan tenke på disse som hjørnene i et rektangel, og at punktet som Location-objektet representerer må være inni dette rektanglet.
Del 1
Definer og implementer en valideringsmetode for koordinater, boolean isValidCoordinates(int x, int y), og bruk denne i left-, right-, up- og down-metodene, så en sikrer at x og y forblir gyldige.
Del 2
Anta det finnes én eller flere metoder for å endre minX, minY, maxX og maxY. Hvordan kan du hindre at koordinatene blir ugyldige etter at en av disse metodene er kalt?
Anta at x, y-koordinatene er 0, 0 og minX, minY og maxX, maxY er henholdsvis -5,-5 og 5,5, og at en ønsker å "flytte" minX, minY og maxX, maxY til henholdsvis 10,10 og 20,20. Hvordan vil du kode metoder, både de for å endre verdier og for validering, slik at dette går greit uten at objektet totalt sett blir ugyldig underveis og/eller etterpå?