21章 Perlでオブジェクト指向 クラスの書き方

ファイル名:Human.pm

package Human;###########
sub new
{
my $class = shift;
my $self = {};
bless($self, $class);
return $self;
}
###############
sub calc
{
my $self = shift;
print “hello”;
}
##############
1;

1ファイル(Human.pm)に1つのクラス(package Human;)を書きます。
1ファイル内に複数のクラスを書かない。
ファイル名はクラス名と同じにする。

クラス記述の先頭は package クラス名;

クラス記述の最後は 1; を書きます。

コンストラクタの書き方を説明します。sub new{}がコンストラクタです。
理解が深まるまではおまじないのように思って、付けておけばいいでしょう。
クラス内のメンバー関数は
$self = sfiht;
で始めます。
実行ファイル名:test1.pl

use Human;my $man = Human->new();
$man->calc( );

クラスを使うほうは
use クラス名;
を書いておきます。

new()でオブジェクトを生成します。
my $man = Human->new();

クラスの関数は
$man->calc( )のように、->で指定します。

 

実行結果:

 

>perl test1.plhello