Moose良いね
package Human; use Moose; has 'name' => ( is => 'rw', isa => 'Str', default => '' ); has 'age' => ( is => 'rw', isa => 'Int', default => 0 ); sub clear { my $self = shift; $self->name(''); $self->age(0); } package Human::Japaness; use Moose; extends 'Human'; has '+name' => ( default => "hinonjin" ); after 'clear' => sub { my $self = shift; $self->name("nihongo"); }; 1;
- アクセサはhasで記述する
- isでgetter/setter指定出来て、アクセサ引数の型まで指定出来る
- まだまだ色々指定出来るみたいだけど、マニュアル読んでないから
- 継承はPHPみたいにextends
まぁちょくちょくソース読んでみようと思う