perl 面向对象demo】的更多相关文章

Vsftp:/root/perl/17# cat Critter.pm package Critter; sub new { my $self = {}; my $invocant = shift; my $class = ref($invocant) || $invocant; my ($name)=@_; my $self = { "name" =>"luotuo", @_ # 覆盖以前的属性 }; bless $self, $class; # Use c…
<pre name="code" class="html">https://www.ibm.com/developerworks/cn/linux/l-cn-perlobj/ Perl 面向对象编程的两种实现和比较: Perl 面向对象的实现有两种方式: 1.基于匿名散列 2.基于数组 Perl 作为一种成熟的"面向过程"的语言,同样也提供了对于面向对象编程的支持. Perl 中有两种不同地面向对象编程的实现,一是基于匿名哈希表的方式…
来源: http://www.cnblogs.com/itech/archive/2012/08/21/2649580.html Perl面向对象     首先让我们来看看有关 Perl 面向对象编程的三个基本定义:     1.  一个“对象”是指一个“有办法知道它是属于哪个类”的简单引用.(对象就是引用变量)     2.  一个“类”是指一个“有办法给属于它的对象提供一些方法”的简单的包.(类就是包)     3.  一个“方法”是指一个“接受一个对象或者类名称作为第一个参数”的简单的子程…
官方手册:http://perldoc.perl.org/perlobj.html 本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. Perl面向对象的三个准则 类就是包 对象就是一个数据结构的引用,是知道自己属于哪个类的引用 可以是数据结构引用(如hash结构.数组结构),也可以是子程序引用 方法就是子程序 最初代码 3种动物牛Cow.羊Sheep.马Horse发出的声音各不相同.在…
本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. 已有的代码结构 现在有父类Animal,子类Horse,它们的代码分别如下: lib/Animal.pm中: #!/usr/bin/env perl use strict; use warnings; package Animal; sub speak { my $class = shift; print "a $class goes…
本系列: Perl面向对象(1):从代码复用开始 Perl面向对象(2):对象 Perl面向对象(3):解构--对象销毁 第3篇依赖于第2篇,第2篇依赖于1篇. perl中使用引用计数的方式管理内存,对象也是引用,所以对象的销毁也是由引用计数的管理方式进行管理的.也就是说,当一个对象(也就是一个数据结构)引用数为0时,这个对象就会被Perl回收. 对象回收的俗称是"对象销毁"(destroy),术语是解构(destruction),在Perl中回收对象是通过一个名为DESTROY的特殊…
今天看到一个perl面向对象编程的例子,充分体现了如何对数据进行封装: 自己模仿写一个读取配置文件的例子, 配置文件的内容如下 samtools_binary = /usr/bin/samtools 用=分隔,保存了每个软件可执行文件的绝对路径; 下面用perl 模块进行配置文件的读取, 模块名为config.pm package config; use strict; use warnings FATAL => 'all'; sub new { my $self = {}; bless($se…
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 $…
[root@wx03 test]# cat Scan.pm package Scan; sub new{ my $class = shift; my $self={ 'a'=>11, 'b'=>22, 'c'=>33 }; bless $self,$class; return $self; }; sub sum_all { my $self=shift; my ($c,$d,$e)=@_; return ($self->{a} + $self->{b} + $self->…
<pre name="code" class="html">[root@wx03 lib]# ls -ltr total 40 -rw-r--r-- 1 root root 2022 May 21 18:28 blogin.pm -rw-r--r-- 1 root root 1138 May 21 18:28 qrcode.pm -rw-r--r-- 1 root root 2522 May 21 18:28 init.pm -rw-r--r-- 1 r…