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);
          }
      }
  }