Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte

Klassen

Bisher waren die Datentypen, die Sie verwendet haben — Zahlen, Zeichenketten, Arrays und so weiter —, alle in Raku eingebaut. Die objektorientierte Programmierung erlaubt es Ihnen, eigene Typen zu definieren, Klassen genannt, und Werte dieser Typen zu erzeugen, Objekte genannt.

Eine Klasse wird mit dem Schlüsselwort class definiert, gefolgt von einem Namen und einem Block:

class Dog {
}

Diese Klasse Dog ist vorerst leer, aber sie ist bereits ein neuer Typ. Um ein Objekt der Klasse zu erzeugen — eine Instanz —, rufen Sie die Methode new auf dem Klassennamen auf:

class Dog {
}

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

Die Variable $rex enthält nun ein Dog-Objekt. Jeder Aufruf von new erzeugt ein eigenes Objekt:

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

$rex und $fido sind zwei verschiedene Hunde, obwohl die Klasse noch keinen Inhalt hat. In den folgenden Abschnitten geben Sie einer Klasse ihre eigenen Daten (Attribute) und ihr eigenes Verhalten (Methoden). Das erste Thema betrachtet den Unterschied zwischen einer Klasse und ihren Instanzen genauer.

Ebenfalls in diesem Abschnitt

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Abschnitts.

Übungen

Dieser Abschnitt enthält 2 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.

  1. Definiert oder nicht
  2. Nennen Sie den Typ

Kursnavigation

Klassen und Objekte   |   Typobjekte und Instanzen