Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj
Heredo
Heredo permesas al unu klaso konstrui sur alia. Klaso
deklarita per is post sia nomo heredas la atributojn kaj
metodojn de la klaso, kiun ĝi nomas — ĝia patra (aŭ
baza) klaso.
class Animal {
has $.name;
method speak {
'some sound';
}
}
class Dog is Animal {
}Dog is Animal signifas, ke Dog estas speco
de Animal. Sen skribi ion novan, Dog jam havas
la atributon name kaj la metodon speak el
Animal:
my $rex = Dog.new(name => 'Rex');
say $rex.name; # Rex
say $rex.speak; # some soundObjekto Dog estas ankaŭ rekonata kiel
Animal:
say Dog.new ~~ Animal; # TrueLa saĝa kongruado ~~ kontraŭ tipo estas vera, kiam la
objekto estas de tiu tipo aŭ heredas de ĝi. La sekva temo montras, kiel
ida klaso povas anstataŭigi hereditan metodon per sia propra versio.
Ankaŭ en ĉi tiu sekcio
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu sekcio.
Ekzercoj
En ĉi tiu sekcio estas 3 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.