Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti / Klases
Tipa objekti un instances
Kad rakstāt klases nosaukumu, piemēram, Dog, jūs
atsaucaties uz klases tipa objektu. Tipa objekts pārstāv pašu
tipu, nevis kādu konkrētu šī tipa objektu. Instance, kas radīta
ar new, ir īsts objekts.
Raku abus spēj atšķirt. Metode defined tipa objektam
atgriež False, bet instancei True:
class Dog {
}
say Dog.defined; # False
say Dog.new.defined; # TrueTipa objekts tiek uzskatīts par nedefinētu, jo tas nesatur nekādus konkrētus datus — tas ir tikai tipa apraksts. Instance ir definēta: tā ir īsts objekts.
Abi ziņo vienu un to pašu tipu caur WHAT, ar ko
iepazināties sadaļā par
konteineriem:
class Dog {
}
say Dog.WHAT; # (Dog)
say Dog.new.WHAT; # (Dog)Iekavas ap (Dog) ir Raku veids, kā parādīt tipu. Tātad
Dog un Dog.new dala tipu Dog;
atšķirība ir tāda, ka viens ir pats tips, bet otrs — šī tipa
objekts.
Prakse
Jūs gaida 1 viktorīna par šī temata saturu.
Kursa navigācija
← Klases | Viktorīna — Klases →
💪 Vai arī dodieties tieši uz šīs sadaļas vingrinājumiem.