Gå til innhold

Anbefalte innlegg

Skrevet

holder på å ta opp Java igjen og en ting har slått meg: hva er forskjellen på en funksjon og en metode? er det bare forskjellig navn på samme greia?

 

driver endel med php og der en funksjonenen unektelig like metodene i Java....

Videoannonse
Annonse
Skrevet (endret)

En funksjon i java:

public int FemPluss(int tall) {
 return 5 + tall;
}

En metode i java:

public void SkrivNoe() {
 System.out.println("5 + 2 = " + FemPluss(2));
}

 

Altså funksjoner returnerer en verdi. En metode utfører et eller annet uten å returnere noe.

 

Edit:

Ehm, når jeg tenker meg om så brukes navnet metoder på både funksjoner og prosedyrer. Tror du kan si at du "skal lage en metode som returnerer et eller annet". Så det er vel i grunnen det samme :) Ble litt forvirra selv her nå...

Endret av Magellan
Skrevet (endret)
Altså funksjoner returnerer en verdi. En metode utfører et eller annet uten å returnere noe.

Ikke riktig, i java heter det en metode uavhengig av om den returnerer noe eller ikke, på samme måte som man i C kaller alt for funksjoner selv om det returnerer 'void'.

 

I C++ (som java har 'lånt' det meste fra) kaller man gjerne funksjoner som er knyttet opp mot klasser for metoder for å skille mellom det som ligger i objekter og det som ligger i statisk kontekst, i java må alle funksjoner og variable ligge innenfor en klasse så da har man bare metoder igjen.

Endret av MailMan13
Skrevet
Altså funksjoner returnerer en verdi. En metode utfører et eller annet uten å returnere noe.

Ikke riktig, i java heter det en metode uavhengig av om den returnerer noe eller ikke, på samme måte som man i C kaller alt for funksjoner selv om det returnerer 'void'.

MailMan13: jeg tror han forklarte det slik kun for å gi meg en duganes forklaring på det jeg spurte om...

Skrevet

Det MailMan13 skrev er det som er korrekt. Metoder er funksjoner som er deklarert innenfor en klasse. Hva en metode eller en funksjon returnerer er fullstendig likegyldig.

 

Metode: (Java)

public class Person {
 private void hentKaffe() { ... }
}

 

Funksjon: (C++)

void HentKaffe(Person kjell) { ... }

Skrevet
Metoder er funksjoner som er deklarert innenfor en klasse. Hva en metode eller en funksjon returnerer er fullstendig likegyldig.

Dette er helt riktig. Og siden alt deklareres i klasser i java, er alle funksjoner i java metoder.

 

Eller for å si det på en annen måte: Alle metoder er funksjoner, men ikke alle funksjoner er metoder.

 

Noen språk (f. eks. Pascal, VB) skiller mellom funksjoner og prosedyrer der forskjellen er at funksjoner returnerer en verdi, mens prosedyrer ikke gjør det, men i java er det ikke et slikt skille.

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