0
私は基底クラスにありますuse Storable qw/nfreeze thaw/;
私の子クラスではnfreeze
にアクセスできません。私はnfreeze($data)
のような子クラスでそれを呼びます。子クラスの基本クラス関数へのアクセス
ありがとうございました。
私は基底クラスにありますuse Storable qw/nfreeze thaw/;
私の子クラスではnfreeze
にアクセスできません。私はnfreeze($data)
のような子クラスでそれを呼びます。子クラスの基本クラス関数へのアクセス
ありがとうございました。
Storable::nfreeze
とStorable::thaw
は機能ない方法ある - 彼らは彼らの最初の引数として特定の種類のオブジェクトまたはパッケージ名を期待しないでください。通常、これらのサブルーチンは間接的な構文($obj->thaw()
)ではなく直接(nfreeze($data)
)呼び出されます。したがって、これらのサブルーチンは継承されたメソッドのセットに含まれるとは限りません。
Storable::nfreeze($data);
BaseClass::thaw($data);
2回目の呼び出しが動作するnfreeze
ので:あなたの子パッケージ
package ChildClass;
use Storable qw/nfreeze thaw/;
または完全修飾サブルーチン名を持つ関数を呼び出すにインポートし、あなたの子供のクラスでこれらの機能を使用するには
/thaw
はすでにBaseClass
名前空間にインポートされています。
クールです。ありがとう。 – PMat