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

Klassen

Tot nu toe waren de gegevenstypen die je gebruikt hebt — getallen, strings, arrays enzovoort — allemaal in Raku ingebouwd. Met objectgeoriënteerd programmeren kun je je eigen typen definiëren, klassen genoemd, en waarden van die typen maken, objecten genoemd.

Een klasse wordt gedefinieerd met het sleutelwoord class, gevolgd door een naam en een blok:

class Dog {
}

Deze klasse Dog is voorlopig leeg, maar het is al een nieuw type. Om een object van de klasse te maken — een instantie — roep je de methode new aan op de naam van de klasse:

class Dog {
}

my $rex = Dog.new;
say $rex; # Dog.new

De variabele $rex bevat nu een Dog-object. Elke aanroep van new maakt een apart object:

my $rex = Dog.new;
my $fido = Dog.new;

$rex en $fido zijn twee verschillende honden, ook al heeft de klasse nog geen inhoud. In de volgende secties geef je een klasse haar eigen gegevens (attributen) en haar eigen gedrag (methoden). Het eerste onderwerp kijkt nauwkeuriger naar het verschil tussen een klasse en haar instanties.

Ook in deze sectie

Praktijk

Maak de 1 quiz over de inhoud van deze sectie.

Oefeningen

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

  1. Gedefinieerd of niet
  2. Noem het type

Cursusnavigatie

Klassen en objecten   |   Typeobjecten en instanties