Exercise index of this lecture   Alphabetic index   Course home   

Exercises
Objekt-orienteret programmering i Java, del 2


4.1   Programmering af klassen Rectangle  

Denne opgave går ud på at programmere en klasse Rectangle. (En sådan klasse findes i forvejen i Java klassebiblioteket, men dette ignorerer vi i denne opgave). Et rektangel er et velkendt geometrisk objekt med en bestemt placering i et todimensionelt koordinatsystem. I denne opgave vil vi afgrænse os til at arbejde med rektangler, hvis sider er parallelle med akserne i koordinatsystemet. Antag også at vi arbejder med heltallige koordinater og dimensioner.

Start med at beslutte hvordan I vil repræsentere et rektangel. Datarepræsentationen skal være skjult for klienter af rektanglet.

Implementer følgende konstruktorer og metoder i Rectangle:

    En konstruktor som opretter et rektangel ud fra to hjørnepunkter: øverste venstre og nederste højre. En konstruktor som opretter et rektangel ud fra øverste venstre hjørne samt en bredde og en højde af rektanglet. En konstruktor som opretter et rektangel ud fra fire heltal: x og y koordinaterne af øverste venstre samt nederte højre hjørne Metoder width og height som returnerer bredde og højde af rektanglet En metode corners som returnerer et array af de fire hjørnepunkter af rektanglet En metode move der flytter rektanglet. Flytningen skal være relativ til den nuværende position. En metode overlappingRectangle der returnerer overlappet (i sig selv et rektangel) mellem to rektangler (se herunder). Metoden toString som udskriver en tekstuel og informativ streng om rektanglet
Under løsningen af denne opgave bedes I benytte klassen java.awt.Point som beskriver et punkt i den todimensionelle plan.

Det vanskeligste aspekt af klassen Rectangle er metoden overlappingRectangle. Det kan være en god hjælp at bruge klassen Interval (udviklet til formålet) hvori der findes en metode, der returnerer overlappet mellem to intervaller.

Dokumenter endvidere klassens konstruktorer og metoder, og producer HTML dokumentation ved brug af værktøjet javadoc.

 

Solution


4.2   Klasserne Spillekort og KortSpil  

I forrige lektion var der en opgave om Spillekort, hvor klassen Spillekort repræsenterer et enkelt kort i et kortspil.

Da nogen måske ikke nåede at programmere Spillekort klassen sidste gang, er det en mulighed at løse opgaven ved øvelserne idag.

I min løsning har jeg implementeret en klasse KortSpil, som repræsenterer de 52 kort i spil kort (uden jokere). Vi har ovenfor anbefalet at indlejere Spillekort statisk i KortSpil. Afprøv denne løsning konkret, og demonstrer ved et eksempel, at der statig er adgang til SpilleKort (uden at gå igennem et KortSpil objekt) selv om den er indlejret i KortSpil.

 

Solution


Generated: Monday March 31, 2008, 12:08:22
on the system cs-unix