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というパッケージ変数に継承させたいクラスを入れると、そのクラスを継承できるという事実を今知った。





へーーーーーーーーーーーーーーーーーーーーーーーーー