Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti
Objektu introspekcija
Sadaļā par konteineriem jūs
izmantojāt .^name, lai vērtībai pajautātu tās tipu. Tie
paši .^ metaizsaukumi ļauj izpētīt klasi un tās objektus:
to nosaukumus, atribūtus un vietu hierarhijā.
Metametode .^name atgriež klases nosaukumu:
class Dog {
has Str $.name;
method bark { 'Woof' }
}
say Dog.^name; # DogMetametode .^attributes uzskaita klases atribūtus. Katrs
tiek parādīts ar savu tipu un iekšējo privāto nosaukumu ($!
formu, ar ko iepazināties pie privātiem atribūtiem):
say Dog.^attributes; # (Str $!name)Introspekcija noder rīkiem, kas ar objektiem strādā vispārīgi, — piemēram, lai izdrukātu katru objekta atribūtu, iepriekš nezinot tā klasi. Nākamais temats aplūko, kā apskatīt klases mantošanas ķēdi.
Arī šajā sadaļā
Prakse
Jūs gaida 1 viktorīna par šīs sadaļas saturu.
Vingrinājumi
Šajā sadaļā ir 2 vingrinājumi. Pirms ķerieties pie vingrinājumiem, izlasiet visus šīs sadaļas tematus.