perl の継承 -知らなかった事実。今更知った-
オブジェクティブ思考とか
Hoge->hogehogeとか
でたーーーーーッテ感じなんですまだ。
そんな中、コードの中に
use base Hoge
とか
use parent Hoge
とかやってるのをよく見る。これで継承してるらしいのだが、
ここで疑問が生まれた。
「base と parent の違いってなんだし。」
コードの中での使われ方に、規則性を見いだせなかった自分。
ぐぐった。
【 baseとparent 】
・役割としては同じ。
・コアモジュールでびゅー時期が違う。
(parentは5.10.0からコアモジュールに、baseモジュールはPerl5.005からコアモジュール)
あと、baseだとバグがあるとか何とか。
へーーーーーーーーーーーーーーーー
ってか、
baseとかは⇓これと同じことをコンパイル時にやってくれているらしいが、、、
package YourClass;
BEGIN {
our @ISA = ('BaseClass');
}
そもそも自分は、@ISAというパッケージ変数に継承させたいクラスを入れると、そのクラスを継承できるという事実を今知った。
へーーーーーーーーーーーーーーーーーーーーーーーーー