91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2021-07-21 23:36:48 來源:億速云 閱讀:304 作者:chen 欄目:開發技術

本篇內容介紹了“Perl語言中的Perl類、對象、包的概念”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

Perl類、對象、包概念解析

Perl類與對象

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

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

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

構造函數

構造函數是Perl類的子程序,它返回與Perl類名相關的一個引用。將Perl類名與引用相結合稱為“祝福”一個對象,因為建立該結合的函數名為bless(),其語法為:
#blessYeReference[,classname]
#YeReference是對被“祝福”的對象的引用,classname是可選項,指定對象獲取方法的包名用于繼承其他Perl類,其缺省值為當前包名。
創建一個構建函數的方法為返回已與該Perl類結合的內部結構的引用,如:構造函數

subnew{  my$this={};#Createananonymoushash,and#selfpointstoit.  bless$this;#ConnectthehashtothepackageCocoa.bless$this,$parentClass  return$this;#Returnthereferencetothehash.  }

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

Perl類的調用

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

包的構造函數

subnew{  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";

Perl類靜態方法:

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

“Perl語言中的Perl類、對象、包的概念”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平山县| 通道| 海门市| 定日县| 平利县| 嘉义市| 马边| 桐城市| 奎屯市| 翁源县| 奉贤区| 墨脱县| 新乡市| 乌恰县| 邢台县| 五莲县| 龙山县| 米林县| 呈贡县| 河东区| 南投市| 南宫市| 肥乡县| 右玉县| 沙田区| 双流县| 秭归县| 莱阳市| 安图县| 武清区| 富宁县| 滁州市| 松桃| 安远县| 乌拉特前旗| 乡宁县| 肃宁县| 铅山县| 宜兰县| 七台河市| 三穗县|