选择显示字体大小

perl教学(13)perl的面向对象编程之六

十一、子类方法的重载继承的好处在于可以获得基类输出的方法的功能,而有时需要对基类的方法重载获得更具体或不同的功能。下面在bean.pm类中加入方法printtype(),代码如下:sub printtype {my %24class = shift @_;print "the type of bean is %24class->{'bean'} n";} 然后更新其@export数组来输出:@export = qw ( setbeantype , printtype );现在来调用函数printtype(),有三种调用方法:%24cup->coffee::printtype();%24cup->printtype();%24cup->bean::printtype(); 输出分别如下:the type of bean is mixedthe type of bean is m...

http://www.sosof.com/detail/258/18225823656694.html -by - 丰搜 缓存页面


perl教学(13)perl的面向对象编程之五

coffee.pm代码如下:1 #2 # the coffee.pm file to illustrate inheritance.3 #4 package coffee;5 require exporter;6 require bean;7 @isa = qw(exporter, bean);8 @export = qw(setimports, declaremain, closemain);9 #10 # set item11 #12 sub setcoffeetype{13 my (%24class,%24name) = @_;14 %24class->{'coffee'} = %24name;15 print "set coffee type to %24name n";16 }17 #18 # constructor19 #20 sub new {21 my %24type = shif...

http://www.sosof.com/detail/258/57625823658146.html -by - 丰搜 缓存页面


perl教学(13)perl的面向对象编程之四

1; 现在,我们写一个简单的perl脚本来使用该类的方法,下面是创建一个java applet源代码骨架的脚本代码: #!/usr/bin/perluse cocoa;%24cup = new cocoa;%24cup->setimports( 'java.io.inputstream', 'java.net.*');%24cup->declaremain( "msg" , "java.applet.applet", "runnable");%24cup->closemain();这段脚本创建了一个叫做msg的java applet,它扩展(extend)了java.applet.applet小应用程序并使之可运行(runnable),其中最后三行也可以写成如下: cocoa::setimports(%24cup, 'java.io.inputstream', '...

http://www.sosof.com/detail/258/95825823659868.html -by - 丰搜 缓存页面


perl教学(13)perl的面向对象编程之三

五、方法perl类的方法只不过是一个perl子程序而已,也即通常所说的成员函数。perl的方法定义不提供任何特殊语法,但规定方法的第一个参数为对象或其被引用的包。perl有两种方法:静态方法和虚方法。静态方法第一个参数为类名,虚方法第一个参数为对象的引用。方法处理第一个参数的方式决定了它是静态的还是虚的。静态方法一般忽略掉第一个参数,因为它们已经知道自己在哪个类了,构造函数即静态方法。虚方法通常首先把第一个参数shift到变量self或this中,然后将该值作普通的引用使用。如:1. sub namelister {2. my %24this = shift;3. my (%24keys ,%24value );4. while ((%24key, %24value) = each (%%24this)) {5. print "t%24key is %24value.n";6. }7. } 六、方法的输出如果你现在想...

http://www.sosof.com/detail/268/4302682361072.html -by - 丰搜 缓存页面


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

下面语句为使用该包创建对象的例子:1 #!/usr/bin/perl2 push (@inc,'pwd');3 use cocoa;4 %24cup = new cocoa; 第一行指出perl解释器的位置,第二行中,将当前目录加到路径寻找列表@inc中供寻找包时使用。你也可以在不同的目录中创建你的模块并指出该绝对路径。例如,如果在/home/test/scripts/创建包,第二行就应该如下:push (@inc , "/home/test/scripts");在第三行中,包含上包cocoa.pm以获取脚本中所需功能。use语句告诉perl在@inc路径寻找文件cocoa.pm并包含到解析的源文件拷贝中。use语句是使用类必须的。第四行调用new函数创建对象,这是perl的妙处,也是其易混淆之处,也是其强大之处。创建对象的方法有多种,可以这样写:%24cup = cocoa->ne...

http://www.sosof.com/detail/268/3022682363311.html -by - 丰搜 缓存页面


perl教学(13)perl的面向对象编程之一

本章介绍如何使用perl的面向对象编程(oop)特性及如何构建对象,还包括继承、方法重载和数据封装等内容。一、模块简介模块(module)就是perl包(pachage)。perl中的对象基于对包中数据项的引用。(引用见第x章引用)。详见http://www.nease.net/tppmsgs/msgs0.htm#28的perlmod和perlobj。在用其它语言进行面向对象编程时,先声明一个类然后创建该类的对象(实例),特定类所有对象的行为方式是相同的,由类方法确定,可以通过定义新类或从现存类继承来创建类。已熟悉面向对象编程的人可以在此遇到许多熟悉的术语。perl一直是一个面向对象的语言,在perl5中,语法略有变动,更规范化了对象的使用。下面三个定义对理解对象、类和方法在perl中如何工作至关重要。.类是一个perl包,其中含提供对象方法的类。.方法是一个perl子程序,类名是其第一个...

http://www.sosof.com/detail/268/7852682364321.html -by - 丰搜 缓存页面


perl教学 第十二篇 perl5中的引用之五

六、子程序的引用perl中子程序的引用与c中函数的指针类似,构造方法如下:%24pointer_to_sub = sub {... declaration of sub ...};通过所构造的引用调用子程序的方法为:&%24pointer_to_sub(parameters);·子程序模板子程序的返回值不仅限于数据,还可以返回子程序的引用。返回的子程序在调用处执行,但却是在最初被创建的调用处被设置,这是由perl对closure处理的方式决定的。closure意即如果你定义了一个函数,它就以最初定义的内容运行。(closure详见oop的参考书)下面的例子中,设置了多个错误信息显示子程序,这样的子程序定义方法可用于创建模板。#!/usr/bin/perlsub errormsg {my %24lvl = shift;## define the subroutine to run when ca...

http://www.sosof.com/detail/268/4312682369889.html -by - 丰搜 缓存页面


perl教学 第十二篇 perl5中的引用之四

五、多维数组语句@array = list;可以创建数组的引用,中括号可以创建匿名数组的引用。下面语句为用于画图的三维数组的例子:%24line = ['solid' , 'black' , ['1','2','3'] , ['4','5','6']];此语句建立了一个含四个元素的三维数组,变量%24line指向该数组。前两个元素是标量,存贮线条的类型和颜色,后两个元素是匿名数组的引用,存贮线条的起点和终点。访问其元素语法如下:%24arrayreference->[%24index] single-dimensional array %24arrayreference->[%24index1][%24index2] two-dimensional array %24arrayreference->[%24index1][%24index2][%24i...

http://www.sosof.com/detail/268/64426823611323.html -by - 丰搜 缓存页面


perl教学 第十二篇 perl5中的引用之三

 与数组类似,通过引用访问哈希表的元素形式为%24%24pointer{%24index},当然,%24index是哈希表的键值,而不仅是数字。还有几种访问形式,此外,构建哈希表还可以用=>操作符,可读性更好些。下面再看一个例子:1 #!/usr/bin/perl2 #3 # using array references4 #5 %weekday = (6 '01' => 'mon',7 '02' => 'tue',8 '03' => 'wed',9 '04' => 'thu',10 '05' => 'fri',11 '06' => 'sat',12 '07' => 'sun',13 );14 %24pointer = %weekday;15 %24i ...

http://www.sosof.com/detail/268/70726823613394.html -by - 丰搜 缓存页面


perl教学 第十二篇 perl5中的引用之二

运行结果如下:%24 test 1 2 3 4 pointer address of argv = array(0x806c378)number of arguments : 40 : 1;1 : 2;2 : 3;3 : 4; 第5行将引用%24pointer指向数组@argv,第6行输出argv的地址。%24pointer返回数组第一个元素的地址,这与c语言中的数组指针是类似的。第7行调用函数scalar()获得数组的元素个数,该参数亦可为@argv,但用指针则必须用@%24pointer的形式指定其类型为数组,%24pointer给出地址,@符号说明传递的地址为数组的第一个元素的地址。第10行与第7行类似,第11行用形式%24%24pointer[%24i]列出所有元素。对关联数组使用反斜线操作符的方法是一样的--把所有关联数组名换成引用%24poniter。注意数组和简单变量(标量)的引用显示时均带有类型--array...

http://www.sosof.com/detail/682/2226823617036.html -by - 丰搜 缓存页面


上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下一页

 


相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons