* blessを使ったオブジェクト指向 - 基本[#yefcf25c]

** クラスの宣言 [#y99f41e8]
 package Foo;
 (略)
 1;

** コンストラクタとインスタンスの生成 [#t0c238d8]
 sub new {
     my $class = shift;
     bless {@_}, $class;
 }

 #!/usr/bin/perl
 use Foo;
 $foo = Foo->new(name => 'taro', age => 18)
 print $foo->{name}; # "taro"

** デストラクタ [#wbfe4f23]
 sub DESTROY {
     my $self = shift;
     $self->{fh}->close;
 }

** 継承 [#ke30bd5b]
 package Foo::Bar;
 use base 'Foo';
 use parent 'Foo';
 (略)
 1;
最近はuse baseじゃなくて、use parent推奨らしい。

** コンストラクタで親クラスのコンストラクタを呼ぶ [#f78020cd]
 sub new {
     my $class = shift;
     my $self = $class->SUPER::new(@_);
     $self->{foo} = 'var';
     return $self;
 }

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