1、XXX.pm 文件里面的第一行要是:package XXX; 2、要有构造函数 sub new,实现如下: sub new { my $class = shift; # Get the request class name my $self = {}; my ($name)=@_; my $self = { "name" =>$name }; bless $self, $class; # Use class name to bless() reference return $self; } 3、接着用sub YYY{} 定义自己的函数 例如: sub setBeanType{ my ($class, $name) = @_;//传进来的第一个参数是类似c++的this指针,第二个才是真正的参数 $class->{'Bean'} = $name; print "Set bean to $name \n"; } [root@wx03 test]# cat p1.pm package p1; use Data::Dumper; sub new { my $self = {}; my $invocant = shift; my $class = ref($invocant) || $invocant; my ($name)=@_; my $self = { "name" =>$name }; bless $self, $class; # Use class name to bless() reference print "111111111111111111\n"; $str=Dumper($self); print "\$str is $str\n"; return $self; }; sub setBeanType{ my ($self, $name) = @_;##//传进来的第一个参数是类似c++的self指针,第二个才是真正的参数 $self->{'Bean'} = $name; print "Set bean to $name \n"; $str=Dumper($self); print "\$str is $str\n"; }; 1; [root@wx03 test]# cat p1.pm package p1; use base qw(p2); use Data::Dumper; sub new { my $self = {}; my $invocant = shift; my $class = ref($invocant) || $invocant; my ($name)=@_; my $self = { "name" =>$name }; bless $self, $class; # Use class name to bless() reference print "111111111111111111\n"; $str=Dumper($self); print "\$str is $str\n"; return $self; }; sub setBeanType{ my ($self, $name) = @_;##//传进来的第一个参数是类似c++的self指针,第二个才是真正的参数 $self->{'Bean'} = $name; print "Set bean to $name \n"; $str=Dumper($self); print "\$str is $str\n"; }; 1; [root@wx03 test]# cat p1.pl unshift(@INC,"/root/test"); require p1; $ua=p1->new('lily'); print "2222222222222222\n"; $str=$ua->setBeanType(scan); [root@wx03 test]# perl p1.pl 111111111111111111 $str is $VAR1 = bless( { 'name' => 'lily' }, 'p1' ); 2222222222222222 Set bean to scan $str is $VAR1 = bless( { 'Bean' => 'scan', 'name' => 'lily' }, 'p1' ); 不断的填充这个对象: 使用基类: use base 是面向对象编程时,用来描述“基类”的:
perl 面向对象 use base
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:CSS简介和CSS选择器
下一篇:mysql tcp 4层负载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Perl 面向对象之基类(use base)
Perl 面向对象之基类(use base)
Perl perl 数组 多继承 面向对象 -
Perl 教学 面向对象编程
介绍如何使用Perl的面向对象编程(OOP)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。
perl cocoa java 数组 构造函数