クラス作成で最小の状態は以下の通り
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 件のコメント:
コメントを投稿