クラス作成で最小の状態は以下の通り
package クラス名;
sub new{
return bless {}, shift;
}
1;
面積を求めるRectangleクラスを例に考える
コンストラクタでwidth と heightの値を設定し
getAreaで面積を求める
ファイル名:lib/Rectangle.pm
package Rectangle;
use strict;
use warnings;
use utf8;
binmode STDERR, ":utf8";
my ($width, $height);
sub new{
return bless {}, shift;
}
sub setSize{
my $self = shift;
if(@_!=2){die("setSizeの引数を2つ指定してください(width, height)")}
$width = $_[0];
$height = $_[1];
}
sub getArea{
my $self = shift;
return $width * $height;
}
1;ファイル:Sample.pl
use strict; use warnings; use utf8; use feature 'say'; binmode STDOUT, ":utf8"; use lib qw(lib); use Rectangle; my $r = Rectangle->new(); $r->setSize(123, 45); say $r->getArea();
0 件のコメント:
コメントを投稿