Lecture overview -- Keyboard shortcut: 'u'  Previous page: Oversigt over procedurer og funktioner i Java -- Keyboard shortcut: 'p'  Next page: Parametermekanismer i Java -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Play sound for this page -- Keyboard shortcut: 'y'  Page 26 : 39
Forelæsningsnoter i Objekt-orienteret Programmering
De ikke objekt-orienterede dele af Java
Procedurer og parametermekanismer i Java

Alle aspekter af et Java program tilhører en klasse. Der er altså ingen program aspekter uden for klasser i Java. Vi vil her interessere os for de generelle procedure egenskaber ved metoderne i Java. Vi vil først i en senere lektion vende tilbage til disse som metoder i klasserne. Vi vil derfor ikke her omtale egenskaber af metoder, som er knyttet til objekt-orienteret programmering.


void procedureNavn(formelParameter-liste)
  blok

En procedure kendes på, at den angives som void. Efter procedure navnet kommer den formelle parameterliste. Selv i tilfælde af, at der ingen parametre er, skal parenteserne være med. Vi har tidligere omtalt blok-begrebet (klammer med erklæringer og kommandoer)

At en procedure angives som værende 'void' skal forstås i den sproglige C tradition, hvor procedure opfattes som funktioner, der ikke returnerer nogen værdi.


Type parameterNavn, Type parameterNavn, ...

En formel parameterliste indeholder en liste af komma-separerede definitioner af formelle parametre. I hver parameter definition kommer typen før navnet på den formelle parameter.

Den formelle parameterliste i et Java program er mere enkelt opbygget end i Pascal, idet vi ikke kan have grupper af parametre ala integer og real grupper i
    procedure p(a,b,c: integer; d,e: real)
I Java bliver vi nødt til at skrive
    void p(int a, int b, int c, float d, float e)
Læg også mærke til, at typenavnet kommer før parameternavnet. Dette er igen C traditionen som slår igennem

To eller flere procedurer kan have samme navn hvis rækkefølgen og typerne af de formelle parametre er forskellige

Dette kaldes for overloadning. En overloadet procedure identificeres ved signaturen, og ikke blot ved procedurens navn. Signaturen af en procedure udgøres af procedurens navn og typerne af alle formelle parametre, herunder deres rækkefølge. Proceduren p, nævnt ovenfor, har Java signaturen p(int,int,int,float,float). Overloadede procedurer er ofte særdeles praktiske. Disse befrier os nemlig for at opfinde nye navne til procedurer, som blot adskiller sig via typerne og rækkefølgen af deres parametre