継承の仕組み
Perlにおける継承の仕組みを解説します。
1. 継承の仕組み
継承の仕組みは上位クラスに対してメソッドの探索をしているということです。前回のコードをもう一度見てみましょう。
use strict; use warnings; # コンポーネントクラス package Component; sub x { return 5 } # ボタンクラス package Button; # 継承の記述 our @ISA = ('Component'); sub new { bless {}, 'Button' } package main; # ボタンクラスを使用する my $button = Button->new; print $button->x;
Buttonクラスには、x というメソッドがないのに、 x というメソッドを呼び出しているのでした。これは、@ISA = ('Component')という記述で継承しているからだと解説しました。
でも実は本当はメソッドの探索が行われているだけです。