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

術(shù)語(yǔ)匯編 Perl類概念詳解

開發(fā) 架構(gòu)
本文向大家簡(jiǎn)單介紹一下Perl類的概念,大多數(shù)人其實(shí)都沒有注意到,Perl也是一種面向?qū)ο蟮木幊陶Z(yǔ)言,但它又和傳統(tǒng)的面向?qū)ο蟮恼Z(yǔ)言:如C++,Java完全不一樣.

本文和大家重點(diǎn)討論一下Perl類的概念,.要做好在Perl下的面向?qū)ο缶幊蹋悴粌H要簡(jiǎn)單的用LarryWall提出Perl面向?qū)ο缶幊痰臉?biāo)準(zhǔn),同時(shí)要對(duì)Perl類的概念及應(yīng)用非常熟悉。

Perl類

大多數(shù)人其實(shí)都沒有注意到,Perl也是一種面向?qū)ο蟮木幊陶Z(yǔ)言,但它又和傳統(tǒng)的面向?qū)ο蟮恼Z(yǔ)言:如C++,Java完全不一樣.要做好在Perl下的面向?qū)ο缶幊?你只要簡(jiǎn)單的用LarryWall提出Perl面向?qū)ο缶幊痰臉?biāo)準(zhǔn)就可以了。

這里舉一個(gè)簡(jiǎn)單的例子:Person類代表一個(gè)人,包含一個(gè)人的一些簡(jiǎn)單的信息:名字,社會(huì)保障號(hào)等。

要?jiǎng)?chuàng)建一個(gè)Perl類,首先我們先要?jiǎng)?chuàng)建一個(gè)包--package.一個(gè)package是一個(gè)自包含的單元,它包含一些用戶定義的變量和方法,類似于Java中的Package和C#中的namespace,也起到一個(gè)命名空間的作用.不同命名空間下的相同名字的變量,相互之間是不沖突的。

聲明一個(gè)Perl類:packagePerson;

Person的作用域一直到這個(gè)文件的結(jié)尾.

在類中定義一個(gè)方法:在Person類中定義一個(gè)print的打印方法:

  1. subprint  
  2. {  
  3. my($self)=@_;  
  4. #printPersoninfo  
  5. printf("Name:%s%s\n\n",$self->firstName,$self->lastName);  
  6. }  
  7.  

 要調(diào)用這個(gè)方法,類似PHP,只需要:$khurt->print();

$khurt是一個(gè)Person的實(shí)例.my($self)=@_;這句意思,是把當(dāng)前的變量賦給$self這個(gè)私有的變量.@_是Perl內(nèi)置的一個(gè)變量,代表當(dāng)前正在訪問(wèn)的變量,它是一個(gè)全局變量。


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

要?jiǎng)?chuàng)建一個(gè)Perl類的實(shí)例,我們需要一個(gè)構(gòu)造函數(shù).當(dāng)然,這個(gè)構(gòu)造函數(shù)肯定要在相應(yīng)的package中定義.大多數(shù)的Perl程序員把構(gòu)造函數(shù)命

名為new,其實(shí)無(wú)論這個(gè)函數(shù)叫什么名字,Perl都能接受.

每個(gè)Perl對(duì)象的實(shí)例說(shuō)到底都是一個(gè)數(shù)據(jù)類型,或者是數(shù)組型,或者是Hash列表型等等.這就象C++中的ADT(AbstractDataType)一樣.

Person的構(gòu)造函數(shù)如下,我們用的是一個(gè)Hash的引用作為一個(gè)類的實(shí)例:

  1. #constructor  
  2. subnew{  
  3. my$self={  
  4. _firstName=>undef,  
  5. _lastName=>undef,  
  6. _ssn=>undef,  
  7. _address=>undef  
  8. };  
  9. bless$self,'Person';  
  10. return$self;  

 這里,我們?cè)赑erson包中創(chuàng)建了一個(gè)叫new的方法,實(shí)際上也就是在Persong類中創(chuàng)建了一個(gè)構(gòu)造函數(shù).這個(gè)對(duì)象的屬性全部都在$self變量中了.bless$self'Person'這句比較重要.bless函數(shù)的第一個(gè)參數(shù)是一個(gè)變量的引用,第二參數(shù)是一個(gè)Perl類名.這個(gè)函數(shù)的作用是說(shuō)明$self變量是屬于Person類的。

要?jiǎng)?chuàng)建一個(gè)Person的實(shí)例:

my$khurt=Person->new();

我們還沒有創(chuàng)建任何的訪問(wèn)方法和錯(cuò)誤檢查方法.為了讓構(gòu)造函數(shù)更加的可靠和可繼承,將構(gòu)造函數(shù)重寫:

  1. subnew{  
  2. my($class)=@_;  
  3. my$self={  
  4. _firstName=>undef,  
  5. _lastName=>undef,  
  6. _ssn=>undef,  
  7. _address=>undef  
  8. };  
  9. bless$self,$class;  
  10. return$self;  
  11. }  

 其它的面向?qū)ο笳Z(yǔ)言有私有變量,保護(hù)變量這些概念,控制了變量的訪問(wèn)權(quán)限,防止變量被直接改變.Perl沒有私有變量,但是還是可以通過(guò)訪問(wèn)函數(shù)來(lái)控制變量的訪問(wèn)權(quán)限。

 【編輯推薦】

 

  1. Perl類及創(chuàng)建方法揭秘
  2. Perl文件句柄概念詳解
  3. 解析四大Perl操作符用法
  4. 專家推薦 幾款常用Perl開發(fā)工具
  5. 學(xué)習(xí)筆記 Perl數(shù)字與字符串間的自動(dòng)轉(zhuǎn)換
責(zé)任編輯:佚名 來(lái)源: csdn.net
相關(guān)推薦

2010-07-15 15:47:46

Perl守護(hù)進(jìn)程

2010-07-14 11:27:42

Perl多進(jìn)程

2010-07-13 10:21:19

2010-07-19 16:56:56

Perl線程

2010-07-26 16:54:15

Perl引用

2010-07-13 09:02:16

Perl

2010-07-12 14:23:52

UML公共機(jī)制

2010-07-15 17:50:47

Perl模式

2010-07-16 17:12:58

Perl析構(gòu)函數(shù)

2010-07-14 15:05:21

Perl文件句柄

2010-06-02 14:28:23

SVN版本控制

2010-07-13 09:58:51

Perl關(guān)聯(lián)數(shù)組

2010-06-07 13:02:46

Hadoop簡(jiǎn)介

2010-08-05 14:51:36

AdobeFlex

2010-06-30 14:24:02

UML類圖建模

2010-09-17 09:19:08

Java API

2010-07-20 16:25:50

Perl正則表達(dá)式

2010-06-10 18:27:00

UML語(yǔ)言

2010-08-10 10:32:02

Flex語(yǔ)言

2010-07-27 08:59:19

FlexBuilder
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 精品综合| 中文字幕国产高清 | 精品视频在线一区 | 欧美久久免费观看 | 午夜久久久久 | 欧美精三区欧美精三区 | 国产成人精品久久 | 亚洲激情在线观看 | 欧美在线日韩 | 欧美在线综合 | 久久久久久免费观看 | 在线观看成人av | 日韩精品免费一区 | 欧美激情久久久 | 国产欧美在线 | 欧美黄色片 | 亚洲一区免费视频 | 成人免费视频网站在线看 | 亚洲欧洲精品一区 | 久久精品一区二区三区四区 | 午夜影院免费体验区 | 免费一级欧美在线观看视频 | 中文成人在线 | 久久男人 | 久久久久久久一区 | 中文字幕国产一区 | 无人区国产成人久久三区 | 午夜视频在线 | 91精品国产乱码麻豆白嫩 | 久久男人 | 伊人久久综合影院 | 91久久久久久久久久久久久 | 欧美激情国产精品 | 亚洲人成在线观看 | 国产精品视频在线播放 | 亚洲免费视频在线观看 | 国产精品资源在线观看 | 狠狠干综合视频 | 天天宗合网 | 亚洲高清视频在线观看 | 久久久久久看片 |