0041 metoder

Demonstration av metodanrop och metoddefinitioner.

Metoddefinition

Första raden är metodhuvud. Metodkroppen är det som följer inom klamrar..

accessmodifierare returdatatyp metodnamn(datatyp parameter)
{
    //metodkropp
}

Accessmodifierare är public eller private.

Returdatatyp är en primitiv datatyp eller en klassdatatyp.

Metodnamn skrivs som ett ord med lowerCamelCase.

Parametrarna kan utelämnas.

Metodanrop

Metodanrop kan ske i konstruktorer och metoder.

Anrop av metod utan parameter.

metodnamn();

Anrop av metod med en eller två parametrar.

metodnamn(värde);
metodnamn(värdeEtt, värdeTvå);

Värde är av den datatyp som anges i metodhuvudet.

Korta kodexempel

Korta exempel som bara visar metodhuvuden och exempel på giltigt anrop. Koden är ej i ett sammanhang.

// metodhuvud
public void move(int distance)
// anrop
move(20);

// metodhuvud
public boolean isAtEdge()
// anrop
isAtEdge();

// metodhuvud
public void setLocation(int x, int y)
// anrop
setLocation(100, 200);

Kodexempel

public class Mouse extends Actor
{

    public void act() 
    {
        //Metoden move ärvs från Actor. 
        //Metodhuvudet ser ut som följer:
        //public void move(int distance)
        move(2); //anrop

        //Metoden checkEdge är definierad nedan.
        checkEdge(); //anrop
  }

    //definition av metoden checkEdge
    //metodhuvud följt av kropp inom { }
    private void checkEdge()
    {
        //Metoden isAtEdge ärvs från Actor. 
        //Metodhuvudet ser ut som följer:
        //public boolean isAtEdge()
        if (isAtEdge()) //anrop i if-sats
        {
            //Metoden turn ärvs från Actor. 
            //Metodhuvudet ser ut som följer:
            //public void turn(int amount)
            turn(27);
        }
    }
}