国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺析Perl面向對象編程用法

開發 架構
本文向大家介紹一下Perl面向對象編程的概念,主要包括如何使用Perl的Perl面向對象編程(OOP)特性及如何構建對象,還包括繼承、方法重載和數據封裝等內容。

本文和大家重點討論一下Perl面向對象編程的概念,Perl面向對象編程有很多值得學習的地方,這里和大家分享一下有關面向對象的知識,希望通過本文的學習你對Perl面向對象編程的概念有一定的了解。

Perl面向對象編程

介紹如何使用Perl的Perl面向對象編程(OOP)特性及如何構建對象,還包括繼承、方法重載和數據封裝等內容。
 
一、模塊簡介

模塊(module)就是Perl包(pachage)。Perl中的對象基于對包中數據項的引用。(引用見第x章引用)。
詳見http://www.metronet.com的perlmod和perlobj。
在用其它語言進行面向對象編程時,先聲明一個類然后創建該類的對象(實例),特定類所有對象的行為方式是相同的,由類方法確定,可以通過定義新類或從現存類繼承來創建類。已熟悉面向對象編程的人可以在此遇到許多熟悉的術語。Perl一直是一個面向對象的語言,在Perl5中,語法略有變動,更規范化了對象的使用。
下面三個定義對理解對象、類和方法在Perl中如何工作至關重要。
.類是一個Perl包,其中含提供對象方法的類。
.方法是一個Perl子程序,類名是其***個參數。
.對象是對類中數據項的引用。

二、Perl面向對象編程中的類

再強調一下,一個Perl類是僅是一個包而已。當你看到Perl文檔中提到“類”時,把它看作“包”就行了。Perl5的語法可以創建類,如果你已熟悉C++,那么大部分語法你已經掌握了。與Perl4不同的概念是用雙冒號(::)來標識基本類和繼承類(子類)。
面向對象的一個重要特性是繼承。Perl中的繼承特性與其它面向對象語言不完全一樣,它只繼承方法,你必須用自己的機制來實現數據的繼承。
因為每個類是一個包,所以它有自己的名字空間及自己的符號名關聯數組(詳見第x章關聯數組),每個類因而可以使用自己的獨立符號名集。與包的引用結合,可以用單引號(’)操作符來定位類中的變量,類中成員的定位形式如:$class’$member。在Perl5中,可用雙冒號替代單引號來獲得引用,如:$class’$member與$class::$member相同。

三、Perl面向對象編程創建類

本節介紹創建一個新類的必要步驟。下面使用的例子是創建一個稱為Cocoa的簡單的類,其功能是輸出一個簡單的Java應用的源碼的必要部分。放心,這個例子不需要你有Java的知識,但也不會使你成為Java專家,其目的是講述創建類的概念。
首先,創建一個名為Cocoa.pm的包文件(擴展名pm是包的缺省擴展名,意為PerlModule)。一個模塊就是一個包,一個包就是一個類。在做其它事之前,先加入“1;”這樣一行,當你增加其它行時,記住保留“1;”為***一行。這是Perl包的必需條件,否則該包就不會被Perl處理。下面是該文件的基本結構。

packageCocoa;

##Put"require"statementsinforallrequired,importedpackages
##
#Justaddcodehere
#1;#terminatethepackagewiththerequired1;

接下來,我們往包里添加方法使之成為一個類。***個需添加的方法是new(),它是創建對象時必須被調用的,new()方法是對象的構造函數.

四、構造函數

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

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

{}創建一個對不含鍵/值對的哈希表(即關聯數組)的引用,返回值被賦給局域變量$this。函數bless()取出該引用,告訴對象它引用的是Cocoa,***返回該引用。函數的返回值現在指向這個匿名哈希表。
從new()函數返回后,$this引用被銷毀,但調用函數保存了對該哈希表的引用,因此該哈希表的引用數不會為零,從而使Perl在內存中保存該哈希表。創建對象可如下調用:
$cup=newCocoa;
1#!/usr/bin/perl
2push(@INC,"pwd");
3useCocoa;
4$cup=newCocoa;

***行指出Perl解釋器的位置,第二行中,將當前目錄加到路徑尋找列表@INC中供尋找包時使用。你也可以在不同的目錄中創建你的模塊并指出該絕對路徑。例如,如果在/home/test/scripts/創建包,
第二行就應該如下:
push(@INC,"/home/test/scripts");
在第三行中,包含上包Cocoa.pm以獲取腳本中所需功能。use語句告訴Perl在@INC路徑尋找文件Cocoa.pm并包含到解析的源文件拷貝中。use語句是使用類必須的。第四行調用new函數創建對象,這是Perl的妙處,也是其易混淆之處,也是其強大之處。創建對象的方法有多種,可以這樣寫:
$cup=cocoa->new();
如果你是C程序員,可以用雙冒號強制使用Cocoa包中的new()函數,如:
$cup=Cocoa::new();

可以在Perl面向對象編程的構造函數中加入更多的代碼,如在Cocoa.pm中,可以在每個對象創建時輸出一個簡單聲明,還可以用構造函數初始化變量或設置數組或指針。
注意:

1、一定要在構造函數中初始化變量;
2、一定要用my函數在方法中創建變量;
3、一定不要在方法中使用local,除非真的想把變量傳遞給其它子程序;
4、一定不要在類模塊中使用全局變量。
 

【編輯推薦】

  1. 解析Perl面向對象編程的兩種實現方式
  2. 深入剖析Perl面向對象編程
  3. Perl面向對象編程中方法的調用
  4. 揭秘Perl變量中Perl純變量用法
  5. Perl面向對象編程的兩種實現和比較

 

 

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

2010-07-20 13:44:02

Perl方法

2010-07-13 13:06:41

Perl面向對象

2010-07-16 17:23:57

Perl面向對象編程

2010-07-20 09:33:14

Perl方法

2022-07-30 23:41:53

面向過程面向對象面向協議編程

2010-07-20 09:23:30

Perl構造函數

2010-07-13 14:38:33

Perl面向對象編程

2010-07-20 09:13:55

Perl面向對象編程

2009-10-13 11:28:39

VB.NET面向對象編

2010-07-13 14:54:15

Perl面向對象編程

2010-07-13 10:47:18

Perl面向對象

2010-07-20 10:23:24

Perl類

2010-07-19 10:40:16

Perl正則表達式

2012-01-17 09:34:52

JavaScript

2017-04-21 09:07:39

JavaScript對象編程

2010-11-17 11:31:22

Scala基礎面向對象Scala

2010-02-02 13:15:26

Python類

2012-02-27 09:30:22

JavaScript

2012-12-13 11:01:42

IBMdW

2010-07-19 10:01:57

Perl函數
點贊
收藏

51CTO技術棧公眾號

素人啪啪色综合| 东北一级毛片| 国产日韩三级| 精品91自产拍在线观看一区| 日韩视频一二三| 精品国产第一国产综合精品| 亚洲色图视频网站| 久久久国产精品一区二区三区| 日韩美女在线| 亚洲精品久久久久久久久久久久久| 成人一区而且| 精品99999| 爱情岛论坛成人| 老司机一区二区三区| 欧美俄罗斯性视频| 在线电影福利片| 国产精品三级视频| 国产激情视频一区二区三区欧美| 亚洲字幕成人中文在线观看| 亚洲调教视频在线观看| 久久久av电影| 韩国成人二区| 91超碰这里只有精品国产| 制服影音先锋| 国产一区二区三区在线观看免费视频 | 免费黄视频网站| www.在线成人| 亚洲小视频在线播放| 另类图片国产| 国产精品一区二区三区精品| 日韩精品福利一区二区三区| 久久99青青精品免费观看| 自拍一区在线观看| 日韩美女视频一区二区在线观看| www.三区| juliaann成人作品在线看| 在线免费观看高清视频色| 亚洲欧洲美洲综合色网| 黄色一级片视频| 欧美午夜视频一区二区| 888av在线| 欧美精品一区二区三| 麻豆视频在线观看免费网站黄| 精品视频在线播放免| 成人在线免费| 欧美日韩xxxxx| 日韩精品二区| 日本三级中国三级99人妇网站| 久久99久久久欧美国产| 国产极品美女高潮无套久久久| 亚洲精品国产视频| www.久久ai| 中文亚洲视频在线| 精品日韩一区| 热re99久久精品国99热蜜月| 成人一二三区视频| 超碰在线公开免费| 亚洲精品国精品久久99热| 国产精选久久| 97人摸人人澡人人人超一碰| 国产精品一区免费视频| 欧美变态xxxx| 精品福利一区二区三区免费视频| 午夜不卡一区| dy888夜精品国产专区| 从欧美一区二区三区| 97在线影院| 亚洲色图18p| 亚洲精品一区二区在线看| 成人午夜免费剧场| 欧美日韩精品二区| 小黄鸭精品aⅴ导航网站入口| 欧美在线视频一区| 日韩成人dvd| 神马午夜dy888| 亚洲精品小视频| 久久中文字幕二区| 日韩专区第三页| 91黄色激情网站| 一区二区网站| 亚洲免费久久| 欧美日韩色婷婷| 美国十次综合久久| 日产中文字幕在线精品一区 | 国产精品久久久av久久久| 亚洲一区成人| 国产91色在线观看| 亚洲成人激情在线| 91精品一区国产高清在线gif| 日本a视频在线观看| 欧美中文字幕一区二区三区 | 欧美成人精品欧美一级乱| 在线欧美一区二区| 韩国精品福利一区二区三区| 亚洲成人一区二区三区| 亚洲国产另类av| 久久伊人国产| 一级做a爰片久久| 欧美午夜美女看片| 欧美第一在线视频| 日韩精品久久一区二区三区| 一区二区三区日韩在线观看| 香蕉成人影院| 亚洲欧美日产图| 欧美婷婷六月丁香综合色| 亚洲精品亚洲人成在线观看| 米仓穗香在线观看| 欧美一二三四在线| 国产一区清纯| 粉嫩欧美一区二区三区| 欧美激情一级欧美精品| 国产成人一级电影| 亚洲少妇视频| 樱空桃在线播放| 日韩hd视频在线观看| 日韩成人午夜电影| 手机av免费在线| 日韩wuma| 日韩精品一区二区三区视频在线观看| 午夜久久tv| 黄色美女网站在线观看| 国产日韩中文字幕在线| 亚洲国产精品精华液网站| 久久不见久久见中文字幕免费| 91人人澡人人爽人人精品| 久久精品国产成人精品| 99re在线精品| 午夜久久av| 国产黄色高清在线| 国产日韩在线看片| 欧美午夜无遮挡| 亚洲国产mv| a级在线观看| 致1999电视剧免费观看策驰影院| 日韩一卡二卡三卡国产欧美| 久久久久久亚洲精品杨幂换脸| 免费黄色电影在线观看| 欧美精品久久久| 日韩精品一二三四区| 成人综合婷婷国产精品久久蜜臀 | 99色精品视频| 久久99久久99精品中文字幕 | 亚洲区小说区| 日本1区2区| 91在线视频一区| 欧美日韩一区二区三区| 亚洲女同另类| 日本三级视频在线播放| 欧美一区2区三区4区公司二百 | 欧美精品激情在线观看| 欧美国产精品v| 精品少妇av| 在线观看的av| 一级黄色录像免费看| 亚洲精品资源在线| 91麻豆蜜桃一区二区三区| 综合视频一区| 美臀av在线| 欧美一级日本a级v片| 伊人久久久久久久久久久久久| 久久久99精品免费观看| 亚洲制服欧美另类| 黄视频在线观看免费| 亚洲一区尤物| 欧美老少做受xxxx高潮| 香蕉av福利精品导航 | 国产在线播放一区二区| 日韩国产欧美区| 国产精品视频在线看| 亚洲国产精品久久久天堂| 97超碰在线公开在线看免费| 男女视频网站在线观看| 国产精品女主播| 欧美刺激脚交jootjob| 麻豆精品在线观看| а√中文在线天堂精品| 欧美性天天影视| 久久无码高潮喷水| 亚洲综合日韩中文字幕v在线| 精品91自产拍在线观看一区| 99久久久国产精品| 精品99视频| 精品视频在线播放一区二区三区| 亚洲男人天堂| 黄色一级片播放| 精品国产一区二区三区免费| 久久av在线看| 91精品综合久久久久久| 国产喷白浆一区二区三区| 亚洲最黄网站| 欧美爱爱网站| 日韩精品美女| caoporn国产精品免费视频| 激情六月丁香婷婷| 久久伊人资源站| 青青久久av北条麻妃海外网| 亚洲裸体xxxx| 91成人看片片| 综合网在线视频| 丁香六月综合激情|