Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten

Methoden

Attributen geven een object zijn gegevens; methoden geven het gedrag. Een methode is een subroutine die bij een klasse hoort en die op een object wordt aangeroepen. Je declareert er een met het sleutelwoord method:

class Dog {
    has $.name;

    method bark {
        return $.name ~ ' says Woof!';
    }
}

Roep een methode op een object aan met de punt, net als een accessor:

my $rex = Dog.new(name => 'Rex');
say $rex.bark; # Rex says Woof!

Binnen een methode is het object waarop de methode is aangeroepen beschikbaar als self. De attributen bereik je via hun accessors, geschreven als $.name, $.age enzovoort. Die werken ook binnen geïnterpoleerde strings:

class Dog {
    has $.name;

    method greet {
        "Hello, my name is $.name";
    }
}

say Dog.new(name => 'Rex').greet; # Hello, my name is Rex

De volgende onderwerpen behandelen private attributen (nu we methoden hebben om ze te gebruiken), methoden die parameters aannemen, en methoden die andere methoden aanroepen.

Onderwerpen in deze sectie

Praktijk

Maak de 1 quiz over de inhoud van deze sectie.

Oefeningen

Deze sectie bevat 4 oefeningen. Bekijk alle onderwerpen van deze sectie voordat je aan de oefeningen begint.

  1. Een lopende robot
  2. Een omgekeerd woord
  3. Oppervlakte van een rechthoek
  4. Temperatuuromrekening

Cursusnavigatie

Oplossing: Een wijzigbaar label   |   Privéattributen