我有一個帶有一些屬性(、、、x)y的Moose 類z。我對它進行子類化,對于子類,x始終為 3。如何在子類中指定它?
uj5u.com熱心網友回復:
一個可以使用BUILDARGS.
around BUILDARGS => sub {
my $orig = shift;
my $class = shift;
return $class->$orig(@_, x => 3 );
};
uj5u.com熱心網友回復:
我曾經和 Moo 一起作業,但它似乎是一樣的。您只需要在子類中宣告該屬性 即可覆寫先前的宣告。
package Foo;
use Moose;
has 'a' => (
is => 'rw',
isa => 'Num',
);
has 'b' => (
is => 'rw',
isa => 'Num',
);
has 'c' => (
is => 'rw',
isa => 'Num',
);
package My::Foo;
use Moose;
extends 'Foo';
has ' a' => (
default => 3,
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/453018.html
上一篇:網路::OpenSSH;rsync_put將進度寫入檔案,scp_put不
下一篇:比較函式中未初始化的值在哪里?
