Kall til funksjoner brukes for å utnytte en blokk med kode som allerede er skrevet. Ordet metode brukes om funksjoner i objektorienterte-språk.
Funksjoner lages ofte til å utføre bestemte beregninger eller oppgaver, og trenger ikke nødvendigvis se beregningen i en større sammenheng.  

Parametere/Argumenter (brukes om hverandre)
En funksjon kan ta imot 0 eller flere parametere. Parametere er verdier funksjonen "krever" for å kunne utføres. Funksjonen behandler disse verdiene som variabler som kan/må benyttes gjennom utførelsen av koden.
 - Dersom man vil bruke sinus-funksjonen innenfor matematikk, krever denne en parameter (f.eks pi eller 0) for å kunne gi et svar. (Pi eller 0 vil da være den konkrete verdien sinus-funksjonen benytter i beregningen(e))
 

Returverdi
Når en funksjon er utført kan den returnere en verdi, som ofte forteller noe om utførelsen av funksjonen.
 - Dersom man vil bruke sinus-funksjonen innenfor matematikk, vil svaret man får etter å ha gitt funksjonen et argument kalles returverdien til funksjonen.

Merk! I objektorientert-programmering kan metodene også returnere objektreferanser

Deklarasjon
Funksjoner kan deklareres på forskjellige måter, og varierer fra språk til språk. 

Funksjonsdeklarasjon i python
## Funksjon som undersøker om en gitt verdi er mindre enn tjue

def isLessThanTwenty(num):
	
	if (num < 20):
		return true 
		## Return definerer at funksjonen er ferdig
		## Gjenværende kode blir ikke utført
 
	return false

I python er det verdt å merke seg at vi hverken deklarerer hva slags returtype funksjonen har, eller datatype for parameterne.

Funksjonsdeklarasjon i java
// Funksjon som undersøker om et gitt heltall er mindre enn tjue
 
boolean isLessThanTwenty(int num) {
	
	if(num < 20) {
		return true;
		// Return definerer at funksjonen er ferdig
		// Gjenværende kode blir derav ikke utført
	}
	
	return false;
}

I java må vi deklarere både returtypen, som her er boolean, og datatype for parameterne.

 

I java har vi to måter å gjøre metodekall på med tanke på syntaks:

 1. <klasse>.<navn>(<arg1>, ..., <argN>); 

 2. <objektreferanse>.<navn>(<arg1>, ..., <argN>); 

Metodekall
// 1
Math.sqrt(6.25);


String tekst = "heihei";
 
// 2
tekst.length();

Funksjoner som returnerer en verdi/objektreferanse kan brukes som et uttrykk eller del av et uttrykk:

Funksjon som del av uttrykk
String navn = "Hallvard Trætteberg";
String fornavn = navn.substring(0, 8);
char initial = Character.toLowerCase(navn.charAt(0)); // initial settes lik "h"
  • No labels