blessを使ったオブジェクト指向 - 基本

クラスの宣言

package Foo;
(略)
1;

コンストラクタとインスタンスの生成

sub new {
    my $class = shift;
    bless {@_}, $class;
}
#!/usr/bin/perl
use Foo;
$foo = Foo->new(name => 'taro', age => 18)
print $foo->{name}; # "taro"

デストラクタ

sub DESTROY {
    my $self = shift;
    $self->{fh}->close;
}

継承

package Foo::Bar;
use parent 'Foo';
(略)
1;

最近はuse baseじゃなくて、use parent推奨らしい。

コンストラクタで親クラスのコンストラクタを呼ぶ

sub new {
    my $class = shift;
    my $self = $class->SUPER::new(@_);
    $self->{foo} = 'var';
    return $self;
}

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-09-20 (火) 01:53:32 (2469d)