Camelia
Prev: Method with parameters

Inheritence of classes

Note! This site is about Perl 6.
If you are looking for a solution for the current production version of Perl 5, please check out the Perl 5 tutorial.

Classes can inherit using the "is" keyword.

tutorial/classes/point_06.p6

use v6;

class Point {
    has $.x is rw;
    has $.y is rw;

    method reset {
        $.x = 0;
        $.y = 0;
    }
};

class Point3D is Point {
    has $.z is rw;
    
    method reset {
        $.z = 0;
        nextsame;
    }
}


my $a = Point3D.new(x => 23, y => 42, z => 12);

say $a.WHAT;
say $a.x;     # 23
say $a.z;     # 12

$a.reset;

say $a.x;  # 0
say $a.z;  # 0


The Perl 6 Tricks and Treats newsletter has been around for a while. If you are interested to get special notification when there is new content on this site, it is the best way to keep track:
Email:
Full name:
This is a newsletter temporarily running on my personal site (szabgab.com) using Mailman, till I implement an alternative system in Perl 6.
Gabor Szabo
Written by Gabor Szabo

Published on 2012-01-01


Prev: Method with parameters

Comments

In the comments, please wrap your code snippets within <pre> </pre> tags and use spaces for indentation.
comments powered by Disqus
Suggest a change
Elapsed time: 3.3952222

Perl 6 Tricks and Treats newsletter

Register to the free newsletter now, and get updates and news.
Email:
Name: