Mercurial > pub > Impl
comparison _test/temp.pl @ 427:09e0086a82a7 ref20150831 tip
Merge
author | cin |
---|---|
date | Tue, 15 May 2018 00:51:33 +0300 |
parents | eed50c01e758 c27434cdd611 |
children |
comparison
equal
deleted
inserted
replaced
426:eed50c01e758 | 427:09e0086a82a7 |
---|---|
6 use Scalar::Util qw(blessed refaddr); | 6 use Scalar::Util qw(blessed refaddr); |
7 use YAML::XS qw(Dump Load); | 7 use YAML::XS qw(Dump Load); |
8 use Data::Dumper; | 8 use Data::Dumper; |
9 use URI; | 9 use URI; |
10 | 10 |
11 package Bar; | |
12 use base qw(IMPL::Object); | |
13 | |
14 sub CTOR { | |
15 } | |
16 | |
17 package Bar2; | |
18 use base qw(Bar); | |
19 | |
20 sub CTOR { | |
21 } | |
22 | |
23 package Foo; | 11 package Foo; |
24 use base qw(IMPL::Object::_Base); | 12 use base qw(IMPL::Object::_Base); |
25 | 13 |
26 sub new { | 14 sub new { |
27 my $instance = bless {}, shift; | 15 my $instance = bless {}, shift; |
28 $instance->__construct(); | 16 $instance->__construct(@_); |
29 return $instance; | 17 return $instance; |
30 } | 18 } |
31 | 19 |
32 sub CTOR { | 20 sub CTOR { |
21 say "Foo @_"; | |
33 } | 22 } |
34 | 23 |
35 package Foo2; | 24 package Foo2; |
36 use base qw(Foo); | 25 use base qw(Foo); |
37 | 26 |
38 sub CTOR { | 27 sub CTOR { |
39 | 28 say "Foo2 @_"; |
40 } | 29 } |
30 | |
31 package Bar; | |
32 | |
33 sub CTOR { | |
34 say "Bar"; | |
35 } | |
36 | |
37 package Baz; | |
38 use base qw(Foo2 Bar); | |
39 | |
40 sub CTOR { | |
41 say "Baz"; | |
42 } | |
43 | |
44 | |
41 | 45 |
42 package main; | 46 package main; |
43 | 47 |
44 my $t = [gettimeofday]; | 48 my $t = [gettimeofday]; |
45 | 49 |
46 for(my $i=0; $i <1000000; $i++) { | 50 new Baz("-hi!"); |
47 my $v = new Foo2; | |
48 } | |
49 | 51 |
50 say tv_interval($t); | 52 say tv_interval($t); |
51 | 53 |
52 1; | 54 1; |