Jonny Karlsson INTRODUKTION TILL PROGRAMMERING Föreläsning 5 ( ) INNEHÅLL: -Metoder
2Jonny Karlsson Metoder Brukar i icke objektorienterade programmeringsspråk kallas för underprogram, funktioner (bl.a. i C), eller procedurer. En metod kan beskrivas som ett ”program i programmet” som utför diverse satser innanför ett block (sammansatt sats). Metoder används i huvudsak för att man i en programkod inte skall behöva upprepa liknande operationer flere gånger. Förkortar koden. Programmet blir mer lättläst Satserna i en metod ”körs” genom att anropa metoden. Kallas for metodanrop En metod kan anropas flere gånger i ett program
3Jonny Karlsson Metoder En metod lämnar eventullet i från sej utdata och då talar man om att en metod returnerar ett värde. En metod kan även ta emot viss indata. Detta indata ges som argument eller parameter/parametrar till ett metodanrop. Varje metod som används i ett program har ett unikt namn. I Java finns en mängd fördefinierade metoder (t.ex. println(), readLine()) Ett oänligt antal metoder kan även skapas av programmeraren själv
4Jonny Karlsson Metoder ATT SKAPA METODER En metod skapas/deklareras enligt följande: returtyp metodNamn(arg1, arg2, arg3,..., argN) { satser... } Returtypen är antingen en datatyp (t.ex. int, float, String.....) eller void vilket betyder att inget värde returneras. Argumenten är likaså datatyper och antalet kan bli oändligt många. Om metoden inte skall ta emot något argument sätter man void i argumentfältet eller lämnar det tomt. Metodnamnet börjar vanligen med liten bokstav och ifall metoden består av flera ord skrivs varje nytt ord med stor bokstav. (smaksak, ingen nödvändighet)
5Jonny Karlsson Metoder RETURNERING AV VÄRDEN Nyckelordet return används för att returnera ett värde från en metod. Exempel: int dubbla(int heltal) { return heltal*2; } Metoden ovan, kallad ”dubbla”, tar emot ett heltal som argument och returnerar ett heltal som är det dubbla värdet av argumentet.
6Jonny Karlsson Metoder METODANROP En metod kan anropas från en annan del av programmet. En metod anropas enligt följande: metodnamn(argument1, argument2,....); Om metoden har argument skall man också ge argument till metodanropet (i annat fall lämnas argumentfältet tomt). Om metoden returnerar ett värde resulterar metodanropet i ett värde, eller m.a.o. metodanropet får det värde metoden returnerar.
7Jonny Karlsson Metoder SAMMANFATTANDE EXEMPEL public metodExempel { static int max(int tal1, int tal2) { if(tal1 > tal2)return tal1; elsereturn tal2; } public static void main(String args[]) { int returvarde, heltal1 = 2, heltal2 = 3; returvarde = max(heltal1, heltal2); System.out.println(returvarde); //skriver ut värdet 3 på skärmen //eller System.out.println(max(heltal1, heltal2)); //skriver ut värdet 3 på skärmen }
8Jonny Karlsson Metoder Varabler deklarerade i metoder kallas lokala variabler. Lokala variabler är ej bekanta (åtkomliga/synlaga) från andra metoder. Observera således att heltalsvariablerna: returvarde, heltal1 och heltal2 är obekanta i metetoden dubbla i exemplet på föregående sida.