/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Newbie: Objekter i array -adgang til metod~
Fra : Sune Petersen


Dato : 26-03-01 22:03

Jeg har oprettet et array på følgende måde:

/Initialisering
Object holdDeltagere[];

/Længden af array oprrettet via constructoren
holdDeltagere=new Object [antal]

/Oprettelse af objekter af klassen "HoldDeltager" på pladsen "i" i arrayet
holdDeltagere[i]=new HoldDeltager();

Dette skulle meget gerne virke.

Mit problem er så hvordan jeg får adgang til metoderne i klassen
"Deltager"???

Normalt i arrays skrives der f.eks. "array[plads]" og der fås adgang til
indholdet, men dette virker jo ikke når det er et objekt.
Normalt når man arbejder med objekter fås der adgang til metoderne i
objektet på følgende måde "objektNavn.Metode". Men når jeg nu arbejder i
arrays har jeg jo ikke objektNavn.

Håber der er NG som kan give mig et skub i rigtig retning til løsning af
dette problem. Og på forhånd mange tak for hjælpen :0)





 
 
Brian Matzon (26-03-2001)
Kommentar
Fra : Brian Matzon


Dato : 26-03-01 22:20

> Jeg har oprettet et array på følgende måde:
>
> /Initialisering
> Object holdDeltagere[];
>
> /Længden af array oprrettet via constructoren
> holdDeltagere=new Object [antal]
>
> /Oprettelse af objekter af klassen "HoldDeltager" på pladsen "i" i arrayet
> holdDeltagere[i]=new HoldDeltager();
>
> Dette skulle meget gerne virke.
>
> Mit problem er så hvordan jeg får adgang til metoderne i klassen
> "Deltager"???

((HoldDeltagere) holdDeltagere[i]).whatever();

/Brian Matzon



Sune Petersen (26-03-2001)
Kommentar
Fra : Sune Petersen


Dato : 26-03-01 22:59

Det virker perfekt :0)

Mange tak for hjælpen.

MVH
Sune

"Brian Matzon" <brian@matzon.dk> wrote in message
news:8aOv6.53$Fp4.29333642@news.mobilixnet.dk...
> > Jeg har oprettet et array på følgende måde:
> >
> > /Initialisering
> > Object holdDeltagere[];
> >
> > /Længden af array oprrettet via constructoren
> > holdDeltagere=new Object [antal]
> >
> > /Oprettelse af objekter af klassen "HoldDeltager" på pladsen "i" i
arrayet
> > holdDeltagere[i]=new HoldDeltager();
> >
> > Dette skulle meget gerne virke.
> >
> > Mit problem er så hvordan jeg får adgang til metoderne i klassen
> > "Deltager"???
>
> ((HoldDeltagere) holdDeltagere[i]).whatever();
>
> /Brian Matzon
>
>



Morten Jensen (27-03-2001)
Kommentar
Fra : Morten Jensen


Dato : 27-03-01 11:48

Sune Petersen wrote:
>
> Jeg har oprettet et array på følgende måde:
>
> /Initialisering
> Object holdDeltagere[];
>
> /Længden af array oprrettet via constructoren
> holdDeltagere=new Object [antal]
>
> /Oprettelse af objekter af klassen "HoldDeltager" på pladsen "i" i arrayet
> holdDeltagere[i]=new HoldDeltager();
>
> Dette skulle meget gerne virke.
>
> Mit problem er så hvordan jeg får adgang til metoderne i klassen
> "Deltager"???

Der er to måder at løse det på. Man kan cast'e de enkelte objekter til
typen HoldDeltager hver gang man henter dem ud:

HoldDeltager hd = (HoldDeltager) holdDeltagere[i];
hd.doYourStuff();

Alternativt, hvis du ved at dit array altid kun vil indeholde objekter
af typen HoldDeltager eller specialiseringer af denne, så kan du blot
oprette et HoldDeltager array istedet for dit Object array:

HoldDeltager[] holdDeltagere = new HoldDeltager[antal];
holdDeltagere[i]=new HoldDeltager();
holdDeltagere[i].doYourStuff();

--
CAPUT A/S Morten Jensen Phone +45 70 12 24 42
Nygade 6 Senior Developer Fax +45 70 11 24 42
DK-1164 Kbh K jensen@caput.com http://www.caput.com

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste