perl 访问类方法的几种方式
2016-05-19 09:38
337 查看
[root@wx03 test]# cat Horse.pm package Horse; use base qw(Critter); sub new { my $invocant = shift; my $class = ref($invocant) || $invocant; my $self = { color => "bay", legs => 4, owner => undef, @_, # 覆盖以前的属性 }; return bless $self, $class; #return $self; }; sub sum1 { $self=shift; my $a=shift; my $b=shift; return $a + $b + 7; }; our @arr=qw/1 2 3 4 5 6 7/; our %h1=(1,2,3,4,5,6,7,8); 1; [root@wx03 test]# cat Critter.pm package Critter; 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 return $self; }; sub sum2 { $self=shift; my $a=shift; my $b=shift; return $a + $b; }; sub fun1 { $self=shift; my $a=shift; my $b=shift; return $a / $b; } 1; [root@wx03 test]# cat t10.pl unshift(@INC,"/root/test"); use Horse;; $ua=Horse->new(); print "111111111111\n"; $code=Horse->sum1(4,5); print "\$str is $code\n"; print "222222222222\n"; $code=Horse->sum2(4,5); print "\$str is $code\n"; print "33333333333333\n"; print Horse::sum1($ua,1,2); print "\n"; print "4444444444444444\n"; print Critter::sum2($ua,1,2); print "\n"; print "55555555555555555\n"; print $ua->sum1(4,5); print "\n"; print "66666666666666666\n"; print $ua->sum2(4,5); print "\n";
相关文章推荐
- c/c++ 复习随记----fwqlzz love is for ever
- Fragment全解析系列(二):正确的使用姿势
- BluetoothAdapter.LeScanCallback
- java类加载的过程
- 哪一句话,能燃起你的斗志
- c++第六次上机实验
- vscode编写插件
- webpack从零开始
- 正则表达式之全部符号对照表
- 完美解决windows+ngnix+phpcgi自动退出的问题
- android studio2.1创建项目的两个坑
- CI框架整合smarty步骤详解
- 点评五款用于 Linux 编程的内存调试器
- 点评五款用于 Linux 编程的内存调试器
- Java学习之——线程非安全单利模式到线程安全单利模式
- C++作业6
- Internal Sorting Algorithms Part 2/2: Advanced Sorts
- sed 正则表达式的'转义问题
- 了解SSL必须要懂得密码技术
- innodb buffer pool相关特性