|
| OOP stuff Fra : mads Ny Larsen |
Dato : 04-01-02 02:13 |
|
forstil jer at når man trykke med musen vil en lille animation afvikles på
musens X,Y.
den samme animation skal vises hver gang man trykker et eller andet sted
derfor vil jeg lave animationen som et objekt (da den indeholder masser af
forskellige udregninger).
men jeg kan ikke finde rundt i det med objekter.
hvis man definere et objekt inde i en {} høre det så kun hjemme der ??, vil
det også sige at det ikke kan blive ved med at holde værdier.
lille test eks.:
------------------------------------------------
import java.awt.*;
public class lines04 extends java.applet.Applet{
int x,y;
public void init(){
lines04 P1 = new lines04();
lines04 P2 = new lines04();
}
public void paint(Graphics g){
P1.x = 51;
P1.y = 55;
P2.x = 321;
P2.y = 134;
g.drawLine(P1.x, P1.y, P2.x, P2.y);
}
}
------------------------------------------------
er den eneste udvej for at placere flere punkter (p3, p4 osv.) ved at lave
en lang array med x og y.
hvordan laver man et objekt som man kan holde værdier og virke globalt.
taka.
///Mads
| |
Torben Brandt (05-01-2002)
| Kommentar Fra : Torben Brandt |
Dato : 05-01-02 00:20 |
|
"mads Ny Larsen" <mads@A-D.dk> wrote in message news:<3c3501c7$1$37998$edfadb0f@dspool01.news.tele.dk>...
> hvis man definere et objekt inde i en {} høre det så kun hjemme der ??, vil
> det også sige at det ikke kan blive ved med at holde værdier.
>
> lille test eks.:
>
> ------------------------------------------------
>
> import java.awt.*;
>
> public class lines04 extends java.applet.Applet{
>
3> int x,y;
>
> public void init(){
1> lines04 P1 = new lines04();
2> lines04 P2 = new lines04();
> }
>
> public void paint(Graphics g){
> P1.x = 51;
> P1.y = 55;
> P2.x = 321;
> P2.y = 134;
>
> g.drawLine(P1.x, P1.y, P2.x, P2.y);
> }
> }
>
> ------------------------------------------------
Hej Mads
Jeg har nummereret nogle af linierne herover.
Ja, på sin vis har du ret i at P1- og P2-objekterne i linie 1 og 2
ikke er tilgængelige udenfor {}'erne.
Men da det er objektet (i dette tilfælde Appletten), der skal huske P1
og P2, så kan du bare lave den til attributter som x og y allerede er
det.
Så er P1 og P2 defineret inde i den {} som omgiver hele klassen.
I stedet skal du efter linie 3 skrive
lines04 P1, P2;
Og i linie 1 og 2 skal det første 'lines04' fjernes, da typerne på P1
og P2 allerede er givet.
BEMÆRK: Vi har nu lavet en klasse, der indeholder 2 objekter af sig
selv, så vi skal passe på at vi ikke opretter en ny klasse som
opretter 2 nye, og 4 nye, osv. For så er hukommelsen hurtigt brugt.
Men det skulle vi ikke gøre her.
> er den eneste udvej for at placere flere punkter (p3, p4 osv.) ved at lave
> en lang array med x og y.
Ja det er vel det nemmeste, men du kan godt have 27 forskellige
variable i stedet for en array af længde 27.
Jeg har ikke testet det, men hvis der er problemer, så skriv igen,
Torben
| |
|
|