Kurso de Raku / Objektoj, en- kaj eligo kaj escepto / Klasoj kaj objektoj

Klasoj

Ĝis nun la datumtipoj, kiujn vi uzis — nombroj, ĉenoj, tabeloj kaj tiel plu — ĉiuj estis enkonstruitaj en Raku. Objekt-orientita programado permesas al vi difini viajn proprajn tipojn, nomatajn klasoj, kaj krei valorojn de tiuj tipoj, nomatajn objektoj.

Klaso estas difinita per la ŝlosilvorto class, sekvata de nomo kaj bloko:

class Dog {
}

Ĉi tiu klaso Dog estas malplena por nun, sed ĝi jam estas nova tipo. Por krei objekton de la klaso — ekzempleron — voku la metodon new sur la nomo de la klaso:

class Dog {
}

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

La variablo $rex nun enhavas objekton Dog. Ĉiu voko de new kreas apartan objekton:

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

$rex kaj $fido estas du apartaj hundoj, kvankam la klaso ankoraŭ havas neniun enhavon. En la sekvaj sekcioj vi donos al klaso siajn proprajn datumojn (atributojn) kaj sian propran konduton (metodojn). La unua temo pli detale rigardas la diferencon inter klaso kaj ĝiaj ekzempleroj.

Ankaŭ en ĉi tiu sekcio

Praktiko

Vin atendas 1 kvizo pri la enhavo de ĉi tiu sekcio.

Ekzercoj

En ĉi tiu sekcio estas 2 ekzercoj. Trarigardu ĉiujn temojn de ĉi tiu sekcio antaŭ ol komenci la ekzercojn.

  1. Difinita aŭ ne
  2. Nomu la tipon

Kursa navigado

Klasoj kaj objektoj   |   Tipobjektoj kaj ekzempleroj