2009-02-09から1日間の記事一覧

Adapter(委譲を使う)

use strict; use warnings; { package Abstract::Print; use strict; use warnings; sub printWeak { die ""; } sub printStrong { die ""; } } { package PrintBanner; use strict; use warnings; use Data::Dumper; our @ISA = qw/Abstract::Print/; sub n…

Adapter

use strict; use warnings; { package Banner; use strict; use warnings; sub new { my ($class, $string) = @_; my $self = { string => $string, }; return bless $self, $class; } sub showWithParen { my $self = shift; print "(".$self->{string}.")"…

Iterator

use strict; use warnings; { package Aggregate; use strict; use warnings; sub iterator { die "use OverRide"; } } { package Iterator; use strict; use warnings; sub hasNext { die "use OrverRide"; } sub next { die "use OverRide"; } } { package…