【perl】オブジェクト指向とは

昨日のフレームワークを使って、ログイン処理・新規登録を行うプログラムを作ったときに一緒に覚えたオブジェクト指向という概念。復習してみました。オブジェクト指向って便利。おもしろい。

package Animal;

sub new {
	bless({}, shift);
}

sub bark {
	print "...\n";
}

sub run {
	print "スタスタ\n";
}

package Dog;
use base qw(Animal);
#pacage Dogはpacage Animalが親ですが、barkのときは以下の処理をします。

sub bark {
	print "ワンワン\n";
}

package Cat;
use base qw(Animal);
#pacage Catはpacage Animalが親ですが、barkのときは以下の処理をします。

sub bark {
	print "にゃー\n";
}


package Horse;
use base qw(Animal);
#pacage Horseはpacage Animalが親ですが、runのときは以下の処理をします。

sub run {
	print "パカパカ\n";
}

package main;

#pacage DogとCatとHorseをそれぞれnewします。
my $dog = Dog->new;
my $cat = Cat->new;
my $uma = Horse->new;

print "dog->run\n";
$dog->bark;

print "cat->run\n";
$cat->bark;

print "uma->run\n";
$uma->bark;


出力結果は、以下。

dog->run
ワンワン
cat->run
にゃー
uma->run
…