Курс по Raku / Обекти, вход-изход и изключения / Класове и обекти

Класове

Досега типовете данни, които използвахте — числа, низове, масиви и така нататък, — бяха вградени в Raku. Обектно-ориентираното програмиране ви позволява да дефинирате свои собствени типове, наречени класове, и да създавате стойности от тези типове, наречени обекти.

Клас се дефинира с ключовата дума class, следвана от име и блок:

class Dog {
}

Този клас Dog засега е празен, но вече е нов тип. За да създадете обект от класа — екземпляр, — извикайте метода new върху името на класа:

class Dog {
}

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

Променливата $rex вече съдържа обект Dog. Всяко извикване на new създава отделен обект:

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

$rex и $fido са две различни кучета, макар че класът все още няма съдържание. В следващите раздели ще дадете на класа собствени данни (атрибути) и собствено поведение (методи). Първата тема разглежда по-отблизо разликата между клас и неговите екземпляри.

Още в този раздел

Практика

Направете 1 тест върху съдържанието на този раздел.

Упражнения

Този раздел съдържа 2 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.

  1. Дефиниран или не
  2. Назовете типа

Навигация в курса

Класове и обекти   |   Обекти на типа и екземпляри