Cursus Raku / Objecten, in- en uitvoer en excepties / Klassen en objecten
Overerving
Met overerving kan de ene klasse op de andere voortbouwen.
Een klasse die met is achter haar naam gedeclareerd wordt,
erft de attributen en methoden van de klasse die ze noemt — haar
ouderklasse (of basisklasse).
class Animal {
has $.name;
method speak {
'some sound';
}
}
class Dog is Animal {
}Dog is Animal betekent dat een Dog een
soort Animal is. Zonder iets nieuws te schrijven heeft
Dog al het attribuut name en de methode
speak van Animal:
my $rex = Dog.new(name => 'Rex');
say $rex.name; # Rex
say $rex.speak; # some soundEen Dog-object wordt ook herkend als een
Animal:
say Dog.new ~~ Animal; # TrueDe smart-match ~~ tegen een type is waar wanneer het
object van dat type is of ervan erft. Het volgende onderwerp laat zien
hoe een kindklasse een geërfde methode door haar eigen versie kan
vervangen.
Ook in deze sectie
Praktijk
Maak de 1 quiz over de inhoud van deze sectie.
Oefeningen
Deze sectie bevat 3 oefeningen. Bekijk alle onderwerpen van deze sectie voordat je aan de oefeningen begint.