diff Lib/IMPL/Object.pm @ 49:16ada169ca75

migrating to the Eclipse IDE
author wizard@linux-odin.local
date Fri, 26 Feb 2010 10:49:21 +0300
parents e59f44f75f20
children cf23fd8423f4
line wrap: on
line diff
--- a/Lib/IMPL/Object.pm	Fri Feb 26 01:43:42 2010 +0300
+++ b/Lib/IMPL/Object.pm	Fri Feb 26 10:49:21 2010 +0300
@@ -1,103 +1,103 @@
-package IMPL::Object;
-use strict;
-
-use base qw(IMPL::Object::Abstract);
-
-sub surrogate {
-    bless {}, ref $_[0] || $_[0];
-}
-
-sub new {
-    my $class = shift;
-    my $self = bless {}, ref($class) || $class;    
-    $self->callCTOR(@_);
-  
-    $self;
-}
-
-sub _PropertyImplementor {
-    'IMPL::Class::Property::Direct'
-}
-
-=pod
-=h1 SYNOPSIS
-
-package Foo;
-use base qw(IMPL::Object);
-
-sub CTOR {
-    my ($this,$arg) = @_;
-    print "Foo: $arg\n";
-}
-
-package Bar;
-use base qw(IMPL::Object);
-
-sub CTOR {
-    my ($this,$arg) = @_;
-    print "Bar: $arg\n";
-}
-
-package Baz;
-use base qw(Foo Bar);
-
-our %CTOR = (
-    Foo => sub { my %args = @_; $args{Mazzi}; },
-    Bar => sub { my %args = @_; $args{Fugi}; }
-);
-
-package Composite;
-use base qw(Baz Foo Bar);
-
-our %CTOR = (
-    Foo => undef,
-    Bar => undef
-);
-
-sub CTOR {
-    my ($this,%args) = @_;
-    
-    print "Composite: $args{Text}\n";
-}
-
-package main;
-
-my $obj = new Composite(
-    Text => 'Hello World!',
-    Mazzi => 'Mazzi',
-    Fugi => 'Fugi'
-);
-
-# will print
-#
-# Foo: Mazzi
-# Bar: Fugi
-# Bar:
-# Composite: Hello World!
-
-=h1 Description
-Базовый класс для объектов, основанных на хеше.
-
-=h1 Members
-
-=level 4
-
-=item operator C<new>(@args)
-
-Создает экземпляр объекта и вызывает конструктор с параметрами @args.
-
-=item operator C<surrogate>()
-
-Создает неинициализированный экземпляр объекта.
-
-=back
-
-=р1 Cavearts
-
-Нужно заметить, что директива C<use base> работает не совсем прозрачно, если в нашем примере
-класс C<Composite> наследуется от C<Baz>, а затем C<Foo>, то наследование от
-C<Foo> не произойдет поскольку он уже имеется в C<Baz>. Вот не задача:)
-
-=cut
-
-1;
\ No newline at end of file
+package IMPL::Object;
+use strict;
+
+use base qw(IMPL::Object::Abstract);
+
+sub surrogate {
+    bless {}, ref $_[0] || $_[0];
+}
+
+sub new {
+    my $class = shift;
+    my $self = bless {}, ref($class) || $class;    
+    $self->callCTOR(@_);
+  
+    $self;
+}
+
+sub _PropertyImplementor {
+    'IMPL::Class::Property::Direct'
+}
+
+=pod
+=h1 SYNOPSIS
+
+package Foo;
+use base qw(IMPL::Object);
+
+sub CTOR {
+    my ($this,$arg) = @_;
+    print "Foo: $arg\n";
+}
+
+package Bar;
+use base qw(IMPL::Object);
+
+sub CTOR {
+    my ($this,$arg) = @_;
+    print "Bar: $arg\n";
+}
+
+package Baz;
+use base qw(Foo Bar);
+
+our %CTOR = (
+    Foo => sub { my %args = @_; $args{Mazzi}; },
+    Bar => sub { my %args = @_; $args{Fugi}; }
+);
+
+package Composite;
+use base qw(Baz Foo Bar);
+
+our %CTOR = (
+    Foo => undef,
+    Bar => undef
+);
+
+sub CTOR {
+    my ($this,%args) = @_;
+    
+    print "Composite: $args{Text}\n";
+}
+
+package main;
+
+my $obj = new Composite(
+    Text => 'Hello World!',
+    Mazzi => 'Mazzi',
+    Fugi => 'Fugi'
+);
+
+# will print
+#
+# Foo: Mazzi
+# Bar: Fugi
+# Bar:
+# Composite: Hello World!
+
+=h1 Description
+Базовый класс для объектов, основанных на хеше.
+
+=h1 Members
+
+=level 4
+
+=item operator C<new>(@args)
+
+Создает экземпляр объекта и вызывает конструктор с параметрами @args.
+
+=item operator C<surrogate>()
+
+Создает неинициализированный экземпляр объекта.
+
+=back
+
+=р1 Cavearts
+
+Нужно заметить, что директива C<use base> работает не совсем прозрачно, если в нашем примере
+класс C<Composite> наследуется от C<Baz>, а затем C<Foo>, то наследование от
+C<Foo> не произойдет поскольку он уже имеется в C<Baz>. Вот не задача:)
+
+=cut
+
+1;