- 97 名前:nobodyさん mailto:sage [2009/02/21(土) 20:18:48 ID:???]
- 一から作れるなら、こんな感じか。
PersonをインターフェイスにしてChildに多重継承させてもいいけど、 ちょっとゴチャつきそう。 package Person; sub new { my $class = shift; return bless { @_ }, $class; } sub whoami {} package Parent; use base 'Person'; sub whoami { print "parent\n" } package Child; use base 'Person'; sub new { my ($class, $parent) = @_; return $class->SUPER::new(parent => $parent); } sub whoami { print "child\n" } sub parent { shift->{parent} } package main; my $parent = Parent->new; my $obj = Child->new($parent); $obj->whoami; # child $obj->parent->whoami; # parent
|

|