这个问题涉及Perl和Moose继承。
假设我有父母班和婴儿班。宝贝'延伸'父母。如果两个类都具有属性“name”,那么Baby如何在不获取自己名称的情况下访问父级名称?
package Baby;
use Moose;
extends 'Parent';
has 'name', is => 'ro', isa => 'Str', default => 'Baby';
注意:父类基本相同,名称默认=> '父'。
所以问题是,在我的程序中如何访问Parent的名字?
例如:
...
$baby = Baby->new();
say "my name is " . $baby->name();
say "my Parent's name is " . ????
谢谢!
答案 0 :(得分:5)
你没有。你没有创造新的属性;你刚刚从父类中重写了一个。你为你的示例类选择的名字真的很不幸,因为在现实世界中,一个婴儿“有一个”父母,但通过使用继承,你创造了一个婴儿“是 - ”父母的情况。