結構多岐にわたる.ピックアップが難しい.というかオブジェクト指向Perlそのままになってしまう危険性あり.というかオブジェクト指向Perl読むのは勉強になるな
Perlにおける継承とは
継承の仕方
配列@ISAを使う(読み方はイズア)- 現在(5.005以降)はbaseプラグマを使用する
- 最初に宣言する分には使い方は変わらない
- コンパイル時の継承の機構(とか書いてあったような.仮)→PBPを見ろ→ぢぶん
- 複数のクラスから継承するには複数のクラス名を記述すればよい(多重継承)
継承の例
package PerlHacker; use base qw( Programmer Obfuscator );
パールハッカは,プログラマ・オブファスケータを継承する
package Programmer; use base qw( Coder Documenter );
プログラマは,コーダ・ドキュメンタを継承する
メソッド検索の順番
- 深さ優先(左端の先祖クラスが優先される)
- 図がほしい
その他の継承に関する機構
- UNIVERSAL(親クラスからメソッドが見つからなかった場合に呼び出される.厳密には違うが祖先クラスであるといえる)
- 擬似パッケージSUPER(現在のクラスの親クラスを指す.継承と同様の検索を行う)
(まだまだ途中)