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
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