Perlコーディング初心者質問スレ Part 59at PHPPerlコーディング初心者質問スレ Part 59 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト83:nobodyさん 09/02/21 05:32:46 ああもしかして、メソッドをオーバーライドしないときの動作かな? メソッドが実装されていなければ、親のクラスを辿って実行するよ。 package Parent; sub new { bless { greeting => 'hello' }, $_[0] } sub greeting { return $_[0]->{greeting} } package Child; use base qw(Parent); package main; print Child->new->greeting, "\n"; # Parentのメソッドが呼ばれる 84:nobodyさん 09/02/21 08:40:32 >>83 具体例を出すべきでしたね、すみません。 package Parent; sub new { bless {},shift } sub whoami { print "parent\n" } package Child; use base 'Parent'; sub whoami { print "child\n" } package main; my $obj = Child->new; $obj->whoami; # child $obj->SUPER::whoami; # エラー。"parent\n"を出してほしい 85:nobodyさん 09/02/21 08:42:04 途中送信・・・ 上記のように、Childクラスでオーバーライドしたメソッドがあるとき、スーパークラスのメソッドを呼びたいのです。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch