Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj
Atributoj
Malplena klaso ne estas tre utila. Por ke objekto portu siajn
proprajn datumojn, vi donas al la klaso atributojn. Atributo
estas deklarita ene de la klaso per la ŝlosilvorto has:
class Dog {
has $.name;
has $.age;
}Ĉiu objekto de la klaso ricevas sian propran kopion de ĉi tiuj
atributoj. Vi starigas iliajn valorojn, kiam vi kreas la objekton,
transdonante ilin al new kiel nomitajn argumentojn:
class Dog {
has $.name;
has $.age;
}
my $rex = Dog.new(name => 'Rex', age => 3);La $. en has $.name faras du aferojn
samtempe: ĝi deklaras atributon, kaj ĝi kreas metodon de la sama nomo —
atingilon — kiu redonas la valoron de la atributo:
say $rex.name; # Rex
say $rex.age; # 3Malsamaj objektoj tenas siajn proprajn valorojn, sendepende unu de la alia:
my $rex = Dog.new(name => 'Rex', age => 3);
my $fido = Dog.new(name => 'Fido', age => 5);
say $rex.name; # Rex
say $fido.name; # FidoLa sekvaj temoj montras, kiel fari atributojn ŝanĝeblaj kaj kiel doni al ili defaŭltajn valorojn. (Estas ankaŭ maniero deklari privatajn atributojn, kaŝitajn de ekstere; ni revenos al ĝi, kiam metodoj estos enkondukitaj.)
Temoj en ĉi tiu sekcio
Praktiko
Vin atendas 1 kvizo pri la enhavo de ĉi tiu sekcio.
Ekzercoj
En ĉi tiu sekcio estas 4 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.