av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

淺析Perl語言中的Perl類、對象、包概念

本文和大家重點討論一下Perl類、對象、包的概念及使用,Perl類是一個Perl包,其中含提供對象方法的Perl類,而對象是對Perl類中數(shù)據(jù)項的引用。

專業(yè)成都網(wǎng)站建設(shè)公司,做排名好的好網(wǎng)站,排在同行前面,為您帶來客戶和效益!創(chuàng)新互聯(lián)公司為您提供成都網(wǎng)站建設(shè),五站合一網(wǎng)站設(shè)計制作,服務(wù)好的網(wǎng)站設(shè)計公司,成都網(wǎng)站設(shè)計、成都網(wǎng)站制作負責(zé)任的成都網(wǎng)站制作公司!

Perl類、對象、包概念解析

Perl類與對象

◆Perl類是一個Perl包,其中含提供對象方法的Perl類。
◆方法是一個Perl子程序,Perl類名是其***個參數(shù)。
◆對象是對Perl類中數(shù)據(jù)項的引用。

◆首先,創(chuàng)建一個名為Cocoa.pm的包文件(擴展名pm是包的缺省擴展名,意為PerlModule)。一個模塊就是一個包,一個包就是一個Perl類。在做其它事之前,先加入1;”這樣一行,當(dāng)你增加其它行時,記住保留“1;”為***一行。這是Perl包的必需條件,否則該包就不會被Perl處理。下面是該文件的基本結(jié)構(gòu)。

packageCocoa;
requireExporter;
@ISA=qw(Exporter);
@EXPORT=qw(setImports,declareMain,closeMain);
#這兩行包含上Exporter.pm模塊,并把ExporterPerl類名加入@ISA數(shù)組以供查找。接下來把你自己的Perl類方法列在@EXPORT數(shù)組中就可以了。例如想輸出方法closeMain和declareMain,語句如下:@EXPORT=qw(declareMain,closeMain);

構(gòu)造函數(shù)

構(gòu)造函數(shù)是Perl類的子程序,它返回與Perl類名相關(guān)的一個引用。將Perl類名與引用相結(jié)合稱為“祝?!币粋€對象,因為建立該結(jié)合的函數(shù)名為bless(),其語法為:
#blessYeReference[,classname]
#YeReference是對被“祝福”的對象的引用,classname是可選項,指定對象獲取方法的包名用于繼承其他Perl類,其缺省值為當(dāng)前包名。
創(chuàng)建一個構(gòu)建函數(shù)的方法為返回已與該Perl類結(jié)合的內(nèi)部結(jié)構(gòu)的引用,如:構(gòu)造函數(shù)
 

 
 
 
  1. subnew{  
  2. my$this={};#Createananonymoushash,and#selfpointstoit.  
  3. bless$this;#ConnectthehashtothepackageCocoa.bless$this,$parentClass  
  4. return$this;#Returnthereferencetothehash.  
  5. }  

 {}創(chuàng)建一個對不含鍵/值對的哈希表(即關(guān)聯(lián)數(shù)組)的引用,返回值被賦給局域變量$this。函數(shù)bless()取出該引用,告訴對象它引用的是Cocoa,***返回該引用。函數(shù)的返回值現(xiàn)在指向這個匿名哈希表。
從new()函數(shù)返回后,$this引用被銷毀,但調(diào)用函數(shù)保存了對該哈希表的引用,因此該哈希表的引用數(shù)不會為零,從而使Perl在內(nèi)存中保存該哈希表。

Perl類的調(diào)用

 
 
 
  1. 1#!/usr/bin/perl  
  2. 2push(@INC,'pwd');  
  3. 3useCocoa;  
  4. 4$cup=newCocoa;#或者$cup=cocoa->new();或$cup=Cocoa::new(); 

 包的構(gòu)造函數(shù)
 

 
 
 
  1. subnew{  
  2. my$type=shift;  
  3. my%parm=@_;  
  4. my$this=[];  
  5. $this->[0]=$parm{'Name'};  
  6. $this->[1]=$parm{'x'};  
  7. $this->[2]=$parm{'y'};  
  8. bless$this,$type;  
  9. }  

 新建對象:

$mug=Cocoa::new('Name'=>'top','x'=>10,'y'=>20);
操作符=>與逗號操作服功能相同,但=>可讀性好。訪問方法如下:
print"Name=$mug->{'Name'}\n";
print"x=$mug->{'x'}\n";
print"y=$mug->{'y'}\n";

Perl類靜態(tài)方法: 

 
 
 
  1. 1.subnameLister{  
  2. 2.my$this=shift;#構(gòu)造函數(shù)即靜態(tài)方法。虛方法通常首先把***個參數(shù)shift到變量self或this中,然后將該值作普通的引用使用  
  3. 3.my($keys,$value);  
  4. 4.while(($key,$value)=each(%$this)){  
  5. 5.print"\t$keyis$value.\n";  
  6. 6.}  
  7. 7.}  
  8.  

【編輯推薦】

  1. 構(gòu)造函數(shù)中Perl方法用法解析
  2. Perl類及創(chuàng)建方法揭秘
  3. 術(shù)語匯編 Perl類概念詳解
  4. 淺析Perl面向?qū)ο缶幊逃梅?/li>
  5. 解析Perl語言中Perl類的注釋和創(chuàng)建方法

分享文章:淺析Perl語言中的Perl類、對象、包概念
網(wǎng)頁網(wǎng)址:http://uogjgqi.cn/article/dpijsoo.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流