Mercurial > pub > Impl
diff Lib/IMPL/Object.pm @ 165:76515373dac0
Added Class::Template,
Rewritten SQL::Schema
'use parent' directive instead of 'use base'
author | wizard |
---|---|
date | Sat, 23 Apr 2011 23:06:48 +0400 |
parents | e6447ad85cb4 |
children | d1676be8afcc |
line wrap: on
line diff
--- a/Lib/IMPL/Object.pm Mon Mar 28 01:36:24 2011 +0400 +++ b/Lib/IMPL/Object.pm Sat Apr 23 23:06:48 2011 +0400 @@ -1,7 +1,7 @@ package IMPL::Object; use strict; -use base qw(IMPL::Object::Abstract); +use parent qw(IMPL::Object::Abstract); sub surrogate { bless {}, ref $_[0] || $_[0]; @@ -30,7 +30,7 @@ =begin code package Foo; -use base qw(IMPL::Object); +use parent qw(IMPL::Object); sub CTOR { my ($this,$arg) = @_; @@ -38,7 +38,7 @@ } package Bar; -use base qw(IMPL::Object); +use parent qw(IMPL::Object); sub CTOR { my ($this,$arg) = @_; @@ -46,7 +46,7 @@ } package Baz; -use base qw(Foo Bar); +use parent qw(Foo Bar); our %CTOR = ( Foo => sub { my %args = @_; $args{Mazzi}; }, @@ -54,7 +54,7 @@ ); package Composite; -use base qw(Baz Foo Bar); +use parent qw(Baz Foo Bar); our %CTOR = ( Foo => undef, @@ -104,7 +104,7 @@ =head1 Cavearts -Нужно заметить, что директива C<use base> работает не совсем прозрачно, если в нашем примере +Нужно заметить, что директива C<use parent> работает не совсем прозрачно, если в нашем примере класс C<Composite> наследуется от C<Baz>, а затем C<Foo>, то наследование от C<Foo> не произойдет поскольку он уже имеется в C<Baz>. Вот не задача:)