オーバーライド

オーバーライドとは、スーパークラスのメソッドを再定義することをいいます。

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;
}

オーバーライドの詳しい解説については、継承の記事を見てください。

業務に役立つPerl

Perlテキスト処理のエッセンス 書籍版

関連情報