Raku kurss / Objekti, ievade/izvade un izņēmumi / Klases un objekti

Klases

Līdz šim datu tipi, ko lietojāt — skaitļi, virknes, masīvi un tā tālāk —, visi bija Raku iebūvēti. Objektorientētā programmēšana ļauj definēt pašam savus tipus, ko sauc par klasēm, un radīt šo tipu vērtības, ko sauc par objektiem.

Klasi definē ar atslēgvārdu class, kam seko nosaukums un bloks:

class Dog {
}

Šī klase Dog pagaidām ir tukša, taču tā jau ir jauns tips. Lai radītu klases objektu — instanci —, izsauciet uz klases nosaukuma metodi new:

class Dog {
}

my $rex = Dog.new;
say $rex; # Dog.new

Mainīgais $rex tagad satur Dog objektu. Katrs new izsaukums rada atsevišķu objektu:

my $rex = Dog.new;
my $fido = Dog.new;

$rex un $fido ir divi atsevišķi suņi, lai gan klasei vēl nav nekāda satura. Nākamajās sadaļās klasei dosiet savus datus (atribūtus) un savu uzvedību (metodes). Pirmais temats tuvāk aplūko atšķirību starp klasi un tās instancēm.

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.

  1. Definēts vai nē
  2. Nosauciet tipu

Kursa navigācija

Klases un objekti   |   Tipa objekti un instances