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.newDie 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.