Gå til innhold

Å kalle på metoder gjennom en array?


Anbefalte innlegg

Jeg ser i en oppgave at det skal være mulig å bruke et metodekall som dette:

 

int husNummer = husliste[index].finnHusnummer();

 

Hvordan er det mulig å kalle på en metode gjennom en array slik som dette? Hittill har jeg alltid brukt "int husNummer = hus.finnHusnummer, og ser ingen måte å gjøre det annerledes på.

 

Har dette noe med hvordan man oppretter arrayen på?

 

Setter stor pris på råd om dette.

Endret av jemartinsen81
Lenke til kommentar
Videoannonse
Annonse

En array er bare en måte å organisere referanser/pekere på, så det er samme hvilken måte du gjør det på:

int husNummer = 0;
husNummer = hus.finnHusnummer();
husNummer = husliste[index].finnHusnummer();// er det samme som å skrive
Hus hus = husliste[index];
husNummer = hus.finnHusnummer();
//men det forutsetter
Hus[] husliste = new Hus[1]; //en array
int index = 0; //index
hus[index] = new Hus(); //fyll arrayen med Hus objekter
husNummer = hus[index].finnHusnummer(); //kall metoden men bruke hus[index] som objekt

Lenke til kommentar
Jeg ser i en oppgave at det skal være mulig å bruke et metodekall som dette:

 

int husNummer = husliste[index].finnHusnummer();

 

Hvordan er det mulig å kalle på en metode gjennom en array slik som dette? Hittill har jeg alltid brukt "int husNummer = hus.finnHusnummer, og ser ingen måte å gjøre det annerledes på.

 

Har dette noe med hvordan man oppretter arrayen på?

 

Setter stor pris på råd om dette.

 

Dette går utmerket an. Husk at husliste[index].finnHusnummer() er en operasjon på objektet i posisjon [index] i arrayet, og ikke på selve arrayet. Så setningen er gyldig, gitt at arrayet husliste er et array av objekter av klassen X, der X har metoden finnHusNummer().

 

Hilsen Werner

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...