具有相同属性名称的驼鹿父母和子女

时间:2012-11-08 18:02:22

标签: perl inheritance moose

这个问题涉及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 " . ???? 

谢谢!

1 个答案:

答案 0 :(得分:5)

你没有。你没有创造新的属性;你刚刚从父类中重写了一个。你为你的示例类选择的名字真的很不幸,因为在现实世界中,一个婴儿“有一个”父母,但通过使用继承,你创造了一个婴儿“是 - ”父母的情况。