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>);
// 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:
String navn = "Hallvard Trætteberg"; String fornavn = navn.substring(0, 8); char initial = Character.toLowerCase(navn.charAt(0)); // initial settes lik "h"