オーバーライド
オーバーライドとは、スーパークラスのメソッドを再定義することをいいます。
package Point; sub move { my $self = shift; my ($x, $y) = @_; $self->{x} += $x; $self->{y} += $y; } package Point3D; use base 'Point'; # moveメソッドをオーバーライド sub move { my $self = shift; my ($x, $y, $z) = @_; $self->SUPER::move($x, $y); $self->{z} += $z; }
オーバーライドの詳しい解説については、継承の記事を見てください。