Raku-Kurs / Objekte, Ein- und Ausgabe und Ausnahmen / Klassen und Objekte
Attribute
Eine leere Klasse ist nicht besonders nützlich. Damit ein Objekt
eigene Daten tragen kann, geben Sie der Klasse Attribute. Ein
Attribut wird innerhalb der Klasse mit dem Schlüsselwort
has deklariert:
class Dog {
has $.name;
has $.age;
}Jedes Objekt der Klasse erhält seine eigene Kopie dieser Attribute.
Ihre Werte setzen Sie beim Erzeugen des Objekts, indem Sie sie
new als benannte Argumente übergeben:
class Dog {
has $.name;
has $.age;
}
my $rex = Dog.new(name => 'Rex', age => 3);Das $. in has $.name tut zweierlei auf
einmal: Es deklariert ein Attribut und erzeugt eine gleichnamige Methode
— einen Accessor —, die den Wert des Attributs liefert:
say $rex.name; # Rex
say $rex.age; # 3Verschiedene Objekte halten ihre eigenen Werte, unabhängig voneinander:
my $rex = Dog.new(name => 'Rex', age => 3);
my $fido = Dog.new(name => 'Fido', age => 5);
say $rex.name; # Rex
say $fido.name; # FidoDie folgenden Themen zeigen, wie Sie Attribute veränderbar machen und wie Sie ihnen Standardwerte geben. (Es gibt außerdem eine Möglichkeit, private Attribute zu deklarieren, die von außen verborgen sind; darauf kommen wir zurück, sobald Methoden eingeführt sind.)
Themen in diesem Abschnitt
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Abschnitts.
Übungen
Dieser Abschnitt enthält 4 Übungen. Sehen Sie sich alle Themen dieses Abschnitts an, bevor Sie mit den Übungen beginnen.
Kursnavigation
← Lösung: Nennen Sie den Typ | Les- und schreibbare Attribute →