bless関数 - オブジェクトの生成



  1. Perl




  2. 関数



  3. here

 オブジェクトを生成するにはbless関数を使用します。Perlではオブジェクトというのはクラス名に関連付けられたデータのことです。ほとんどの場合にデータにはハッシュのリファレンスが利用されます。

# オブジェクトの生成
$obj = bless $data, $class;

 コンストラクタのサンプルです。ハッシュのリファレンスにクラス名を関連付けてオブジェクトを生成しています。

# コンストラクタ
sub new {
  my $class = shift;

  my $self = {};
    
  bless $self, $class;

  return $self;
}

 一般的なコンストラクタのサンプルです。引数の処理, オブジェクトから呼び出された場合の対応の処理などを加えています。

# 一般的なコンストラクタ
sub new {
  my $proto = shift;

  my $class = ref $proto || $proto;

  my $self = ref $_[0] eq 'HASH' ? $_[0] : {@_};

  return bless $self, $class;
}



  1. Perl




  2. 関数



  3. here