05.09.2013 Views

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

Grundlæggende Programmering IT-C, Forår 2001 Løbeseddel 8

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

}<br />

public static void main(String[] args) {<br />

SortableTime t1 = new SortableTime(12, 0);<br />

SortableTime t2 = new SortableTime(12, 15);<br />

SortableTime t3 = new SortableTime(12, 45);<br />

}<br />

SortableTime[] sorted = {t1, t2, t3};<br />

SortableTime[] un_sorted = {t1, t3, t2};<br />

System.out.println("Sorted(true): " + sorted(sorted));<br />

System.out.println("Un-sorted(false): " + sorted(un_sorted));<br />

som f.eks. kan give følgende uddata:<br />

Sorted(true): true<br />

Un-sorted(false): false<br />

Opgave Java64 — et hierarki af figurer<br />

I denne opgave skal defineres et hierarki af objekter der kan anvendes til at lave tegninger. Opgaven er noget omfattende,<br />

men den giver megen øvelse og forstand. Hierarkiet skal bestå af klasserne Shape, Rectangle, Circle, Line og<br />

Compound (start evt. med at udelade Compound; har du fået styr på de andre ting er den nem at få med bagefter):<br />

Klassehierarki af figurer<br />

Shape<br />

Rectangle Circle Line Compound<br />

Stiplede kasser repræsenterer abstrakte klasser.<br />

Klassen Shape skal være en abstrakt klasse der erklærer følgende abstrakte metoder:<br />

void draw(Graphics g) – tegn figuren på det givne Graphics objekt.<br />

void move(int deltax, int deltay) – flyt figuren det givne antal pixels.<br />

Shape copy() – producerer en identisk kopi af figuren.<br />

De forskellige konkrete figurer er definerede ved følgende egenkaber (som også er de argumenter man bruger i deres<br />

konstruktorer):<br />

Rectangle har et øverste venstre hjørne (x,y) samt en bredde og en højde:<br />

Rectangle(int x, int y, int bredde, int højde)<br />

Du kan bruge metoden drawRect i klassen Graphics til at tegne kassen. Metoden move skal opdatere placeringen<br />

x og y af kassen. Metoden copy skal returnere en kopi af objektet (se evt. metoden plus i eksempel<br />

Time4.java fra forelæsning 5).<br />

Circle har et centrum (x,y) samt en radius:<br />

Circle(int x, int y, int radius)<br />

En cirkel tegnes med metoden drawOval i klassen Graphics.<br />

Line har to endepunkter (x1,y1) og (x2,y2):<br />

Line(int x1, int y1, int x2, int y2)<br />

4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!