Perlコーディング初心 ..
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドの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クラスでオーバーライドしたメソッドがあるとき、スーパークラスのメソッドを呼びたいのです。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
5507日前に更新/66 KB
担当:undef