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

Vererbung

Mit Vererbung kann eine Klasse auf einer anderen aufbauen. Eine Klasse, die mit is hinter ihrem Namen deklariert wird, erbt die Attribute und Methoden der genannten Klasse — ihrer Elternklasse (oder Basisklasse).

class Animal {
    has $.name;
    method speak {
        'some sound';
    }
}

class Dog is Animal {
}

Dog is Animal bedeutet, dass ein Dog eine Art Animal ist. Ohne dass Sie etwas Neues schreiben, hat Dog bereits das Attribut name und die Methode speak von Animal:

my $rex = Dog.new(name => 'Rex');
say $rex.name;  # Rex
say $rex.speak; # some sound

Ein Dog-Objekt wird auch als Animal erkannt:

say Dog.new ~~ Animal; # True

Der Smartmatch ~~ gegen einen Typ ist wahr, wenn das Objekt von diesem Typ ist oder von ihm erbt. Das nächste Thema zeigt, wie eine Kindklasse eine geerbte Methode durch ihre eigene Fassung ersetzen kann.

Ebenfalls in diesem Abschnitt

Praxis

Lösen Sie 1 Quiz zum Inhalt dieses Abschnitts.

Übungen

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

  1. Mitarbeiter und Rollen
  2. Eine Form und ein Quadrat
  3. Ein geerbtes Attribut

Kursnavigation

Quiz — Subroutinen und Methoden   |   Methoden überschreiben