Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti
Atribūti
Tukša klase nav sevišķi noderīga. Lai objekts varētu nest savus
datus, klasei dodat atribūtus. Atribūtu deklarē klases iekšienē
ar atslēgvārdu has:
class Dog {
has $.name;
has $.age;
}Katrs klases objekts iegūst savu šo atribūtu kopiju. To vērtības
uzstādāt, kad objektu radāt, padodot tās new kā nosauktus
argumentus:
class Dog {
has $.name;
has $.age;
}
my $rex = Dog.new(name => 'Rex', age => 3);$. deklarācijā has $.name dara divas lietas
uzreiz: tas deklarē atribūtu un izveido tāda paša nosaukuma metodi —
piekļuves metodi —, kas atgriež atribūta vērtību:
say $rex.name; # Rex
say $rex.age; # 3Dažādi objekti glabā savas vērtības neatkarīgi cits no cita:
my $rex = Dog.new(name => 'Rex', age => 3);
my $fido = Dog.new(name => 'Fido', age => 5);
say $rex.name; # Rex
say $fido.name; # FidoNākamie temati parāda, kā atribūtus padarīt maināmus un kā tiem dot noklusētās vērtības. (Ir arī veids, kā deklarēt privātus atribūtus, kas paslēpti no ārpuses; pie tā atgriezīsimies, kad būs ieviestas metodes.)
Šīs sadaļas temati
Prakse
Jūs gaida 1 viktorīna par šīs sadaļas saturu.
Vingrinājumi
Šajā sadaļā ir 4 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.
Kursa navigācija
← Risinājums: Nosauciet tipu | Lasāmi un rakstāmi atribūti →