成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 架構
你對Perl語言中Perl類、對象和包有很多值得學習的地方,你對它們的概念你是否了解,這里向大家簡單介紹一下,希望本文的介紹能讓你有所收獲。

本文和大家重點討論一下Perl類、對象、包的概念及使用,Perl類是一個Perl包,其中含提供對象方法的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類結合的內部結構的引用,如:構造函數
 

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

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

Perl類的調用

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

 包的構造函數
 

  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類靜態方法: 

  1. 1.subnameLister{  
  2. 2.my$this=shift;#構造函數即靜態方法。虛方法通常首先把***個參數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. 構造函數中Perl方法用法解析
  2. Perl類及創建方法揭秘
  3. 術語匯編 Perl類概念詳解
  4. 淺析Perl面向對象編程用法
  5. 解析Perl語言中Perl類的注釋和創建方法

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-19 09:16:47

Perl包

2010-07-19 10:01:57

Perl函數

2010-07-21 09:50:51

Perl調試

2010-07-20 16:05:07

Perl包

2010-07-20 10:02:15

Perl類

2010-07-19 15:37:48

Perl日期時間

2010-07-19 08:39:14

Perl包

2010-07-23 13:07:39

Perl

2010-07-26 16:23:23

Perl語言

2010-07-13 15:34:09

Perl語言

2010-07-20 09:23:30

Perl構造函數

2010-07-13 17:18:29

Perl面向對象編程

2010-07-20 11:37:00

Perl函數返回值

2010-07-13 09:50:55

Perl數組

2010-07-23 13:23:10

Perl語言

2010-07-19 09:52:04

Perl標量

2010-07-20 09:05:08

Perl類

2010-07-20 15:36:58

Perl語法

2010-07-23 13:46:27

Perl語言

2010-07-13 10:05:54

Perl語言
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲一区在线日韩在线深爱 | 国产精品99999 | 在线观看深夜视频 | 欧美视频在线播放 | 三级黄片毛片 | www狠狠爱com| 乱码av午夜噜噜噜噜动漫 | 国产区精品在线观看 | 亚洲国产精品久久人人爱 | 亚洲综合无码一区二区 | 精品成人av| 欧美精品久久久久 | 在线免费观看欧美 | 成人做爰www免费看视频网站 | 久草在线中文888 | 欧美日韩在线综合 | 在线免费国产视频 | 久久久高清 | 国产真实乱全部视频 | 成人在线视频免费观看 | 九色91视频 | 毛片网络 | 亚洲综合久久久 | 亚洲男女视频在线观看 | 欧美日韩中文字幕 | 久久爱黑人激情av摘花 | 亚洲网站在线观看 | 久久久久亚洲 | 一区在线观看 | 在线观看av网站 | 国产免费福利小视频 | 黄色毛片大全 | 亚洲资源站| 二区国产 | 日韩一区在线视频 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 日韩中文字幕一区二区 | 国产精品国产成人国产三级 | 精品中文字幕一区二区 | 最新中文在线视频 | 国产又爽又黄的视频 |