大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> CGI专区 -> Perl教学(13)Perl的面向对象编程之二

Perl教学(13)Perl的面向对象编程之二

时间: 2021-07-31 作者:daque

底下语句为运用该包创造东西的例子:1 #!/usr/bin/perl2 push (@inc,'pwd');3 use cocoa;4 $cup = new cocoa; 第一条龙指出perl证明器的场所,第二行中,将暂时目次加到路途探求列表@inc中供探求包时运用。你也不妨在各别的目次中创造你的模块并指出该一致路途。比方,即使在/home/test/scripts/创造包,第二行就该当如次:push (@inc , "/home/test/scripts");在第三行中,包括上包cocoa.pm以获得剧本中所需功效。use语句报告perl在@inc路途探求文献cocoa.pm并包括到领会的源文献正片中。use语句是运用类必需的。第四行挪用new因变量创造东西,这是perl的妙处,也是其易污染之处,也是其宏大之处。创造东西的本领有多种,不妨如许写:$cup = cocoa->new();即使你是c步调员,不妨用双冒号强迫运用cocoa包中的new()因变量,如:$cup = cocoa::new();不妨在结构因变量中介入更多的代码,如在cocoa.pm中,不妨在每个东西创造时输入一个大略证明,还不妨用结构因变量初始化变量或树立数组或南针。提防: 1、确定要在结构因变量中初始化变量;2、确定要用my因变量在本领中创造变量;3、确定不要在本领中运用local,只有真的想把变量传播给其它子步调;4、确定不要在类模块中运用全部变量。 加上证明的cocoa结构因变量如次:sub new {my $this = {};print "\n /* \n ** created by cocoa.pm \n ** use at own risk";print "\n ** did this code even get pass the javac compiler? ";print "\n **/ \n";bless $this;return $this;} 也不妨大略地挪用包内或包外的其它因变量来做更多的初始化处事,如:sub new {my $this = {}bless $this;$this->doinitialization();return $this;} 创造类时,该当承诺它可被接受,该当不妨把类名动作第一个参数来挪用new因变量,那么new因变量就象底下的语句: · sub new {my $class = shift; # get the request class namemy $this = {};bless $this, $class # use class name to bless() reference$this->doinitialization(); return $this; } 此本领运用户不妨下列三种办法之一来举行挪用:·cocoa::new() ·cocoa->new() ·new cocoa 不妨屡次bless一个援用东西,但是,新的将被bless的类必定把东西已被bless的援用去掉,对c和pascal步调员来说,这就象把一个南针赋给调配的一块外存,再把同一南针赋给另一块外存而不开释掉前一块外存。总之,一个perl东西每一功夫只能属于一个类。东西和援用的真实辨别是什么呢?perl东西被bless以属于某类,援用则否则,即使援用被bless,它将属于一个类,也便成了东西。东西领会本人属于哪个类,援用则不属于任何类。·范例变量动作结构因变量的new()因变量的参数叫作范例变量。范例变量在创造东西的每个范例时用来初始化,比方不妨用new()因变量为东西的每个范例起个名字。不妨用隐姓埋名哈希表或隐姓埋名数组来生存范例变量。用哈希表的代码如次:sub new { my $type = shift;my %parm = @_;my $this = {};$this->{'name'} = $parm{'name'};$this->{'x'} = $parm{'x'};$this->{'y'} = $parm{'y'};bless $this, $type; } 用数组生存的代码如次:sub new { my $type = shift;my %parm = @_;my $this = [];$this->[0] = $parm{'name'};$this->[1] = $parm{'x'};$this->[2] = $parm{'y'};bless $this, $type; } 结构东西时,不妨如次传播参数:$mug = cocoa::new( 'name' => 'top','x' => 10,'y' => 20 );操纵符=>与逗点操纵服功效沟通,但=>可读性好。考察本领如次:print "name=$mug->{'name'}\n";print "x=$mug->{'x'}\n";print "y=$mug->{'y'}\n";

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.