【问题标题】:Moose Parent and Child with same attribute names具有相同属性名称的 Moose Parent 和 Child
【发布时间】:2012-11-09 02:38:33
【问题描述】:

这个问题是关于 Perl 和 Moose 继承的。

假设我有一个父类和一个婴儿类。婴儿“扩展”父母。如果两个类都具有“name”属性,那么 Baby 如何在不获取自己的名字的情况下访问父级的名字?

package Baby;
use Moose;
extends 'Parent';

has 'name', is => 'ro', isa => 'Str', default => 'Baby';

注意:父类与名称 default => 'Parent' 基本相同。

所以问题是,在我的程序中,我将如何访问父母的姓名?

例如:

...
$baby = Baby->new();
say "my name is " . $baby->name();
say "my Parent's name is " . ???? 

谢谢!

【问题讨论】:

    标签: perl inheritance moose


    【解决方案1】:

    你没有。您还没有创建新属性;您刚刚覆盖了父类中的那个。您为示例类选择的名称真的很不幸,因为在现实世界中,婴儿“拥有”父母,但通过使用继承,您创建了婴儿“是”父母的情况。

    【讨论】:

    • 谢谢!这对我来说很有意义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-22
    • 1970-01-01
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多