欢迎来到天天文库
浏览记录
ID:9509600
大小:58.50 KB
页数:5页
时间:2018-05-01
《perl教学(13)perl的面向对象编程之五--》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Perl教学(13)Perl的面向对象编程之五>>Coffee.pm代码如下:1#2#TheCoffee.pmfiletoillustrateinheritance.3#4packageCoffee;5requireExporter;6requireBean;7ISA=qports,declareMain,closeMain);9#10#setitem11#12subsetCoffeeType{13my($class,$name)=_;14$class->{'Coffee'}=$name;15print"Setcoffee
2、typeto$name";16}17#18#constructor19#20subney$type=shift;22my$this=Bean->ne文件和所有相关函数,方法setCoffeeType()用于设置局域变量$class->{'Coffee'}的值。在构造函数ne返回的匿名哈希表的指针,而不是在本地创建一个,下面两个语句分别为创建不同的哈希表从而与Bean.pm构造函数创建的哈希表无关的情况和继承的情况:my$this={};#非继承my$this=$theSuperClass->nebian--
3、------------------ChangeBeanType----------SetbeantoMixedBeanTypeisno模块增加函数makeCup(),代码如下:submakeCup{my($class,$cream,$sugar,$dope)=_;print"==================================";print"Makingacup";print"Addcream"if($cream);print"Add$sugarsugarcubes"if($sugar);p
4、rint"Makingsomereallyaddictivecoffee;-)"if($dope);print"==================================";}此函数可有三个参数,不同数目、值的参数产生不同的结果,例如:1#!/usr/bin/perl2push(INC,'peters7#8print"Callingeters:";9$cup->makeCup;10#11#eter12#13print"Callingeter:";14$cup->makeCup('1'
5、);15#16#akeCup(1,'2');20#21#eters22#23print"Callingeters:";24$cup->makeCup('1',3,'1');其结果输出如下:Callingeters:=======12下一页>>>>这篇文章来自..,。===========================Makingacup==================================Callingeter:==================================Makingacup
6、Addcream==================================Callingeters:==================================MakingacupAddcreamAdd2sugarcubes==================================Callingeters:==================================MakingacupAddcreamAdd3sugarcubesMakingsomereallyaddictivecoffee;-
7、)==================================在此例中,函数makeCup()的参数既可为字符串也可为整数,处理结果相同,你也可以把这两种类型的数据处理区分开。在对参数的处理中,可以设置缺省的值,也可以根据实际输入参数值的个数给予不同处理。上一页12>>>>这篇文章来自..,。
此文档下载收益归作者所有