




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο缶幊蹋∣bjectOrientedProgramming,OOP,面向?qū)ο蟪绦蛟O(shè)計(jì))是一種計(jì)算機(jī)編程架構(gòu),OOP的一條基本原則是計(jì)算機(jī)程序是由單個(gè)可以起到子程序作用的單元或?qū)ο蠼M合而成,OOP達(dá)成了軟件工程的三個(gè)目的:重用性、靈活性和擴(kuò)展性。為了實(shí)現(xiàn)整體運(yùn)算,每個(gè)對(duì)象都可以接受信息、解決數(shù)據(jù)和向其它對(duì)象發(fā)送信息。面向?qū)ο笠恢笔擒浖_發(fā)領(lǐng)域內(nèi)比較熱門的話題,一方面,面向?qū)ο蠓先祟惪创挛锏囊话阋?guī)律。另一方面,采用面向?qū)ο蠓椒梢允瓜到y(tǒng)各部分各司其職、各盡所能。為編程人員敞開了一扇大門,使其編程的代碼更簡(jiǎn)潔、更易于維護(hù),并且具有更強(qiáng)的可重用性。有人說PHP不是一個(gè)真正的面向?qū)ο蟮恼Z言,這是事實(shí)。PHP是一個(gè)混合型語言,你可以使用OOP,也可以使用傳統(tǒng)的過程化編程。然而,對(duì)于大型項(xiàng)目,你也許需要在PHP中使用純的OOP去聲明類,并且在你的項(xiàng)目里只用對(duì)象和類。這個(gè)概念我先不多說了,由于有很多朋友遠(yuǎn)離面向?qū)ο缶幊痰闹匾蛩鼐褪且唤佑|面向?qū)ο蟾拍畹臅r(shí)候就理解不上去,所以就不想去學(xué)下去了。等讀者看完整篇內(nèi)容后再去把概念搞明白吧。
先上視頻教程:
PHP100視頻教程17:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(一)
PHP100視頻教程18:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(二)
PHP100視頻教程19:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(三)
PHP100視頻教程20:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(四)
PHP100視頻教程21:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(五)
PHP100視頻教程22:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(六)
PHP100視頻教程23:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(七)
PHP100視頻教程24:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(八)
PHP100視頻教程25:PHP面向?qū)ο箝_發(fā)的學(xué)習(xí)(九)
實(shí)例:
PHP100視頻教程26:制作自己的PHP+MYSQL的類更多相關(guān)=======================================================文章目錄:
1.面向?qū)ο蟮母拍?/p>
2.什么是類,什么是對(duì)象,類和對(duì)象之間的關(guān)系
3.什么是面向?qū)ο缶幊棠兀?/p>
4.如何抽象出一個(gè)類?
5.如何實(shí)例化對(duì)象?
6.如何去使用對(duì)象中的成員?
7.特殊的引用“$this”的使用
8.構(gòu)造方法與析構(gòu)方法
9.封裝性
10.__set()、__get()、__isset()、__unset()四個(gè)方法的應(yīng)用
11.類的繼承
12.多態(tài)的應(yīng)用
13.重載新的方法
14.訪問類型
15.靜態(tài)成員的使用
16.final關(guān)鍵字的應(yīng)用
17.__toString()方法
18.克隆對(duì)象
19.__call解決調(diào)用錯(cuò)誤
20.自動(dòng)加載類
21.把對(duì)象串行化
22.抽象方法和抽象類
23.php5接口技術(shù)=======================================================
2.什么是類,什么是對(duì)象,類和對(duì)象之間的關(guān)系
類的概念:類是具有相同屬性和服務(wù)的一組對(duì)象的集合。它為屬于該類的所有對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部涉及屬性和服務(wù)兩個(gè)重要部分。在面向?qū)ο蟮木幊陶Z言中,類是一個(gè)獨(dú)立的程序單位,它應(yīng)當(dāng)有一個(gè)類名并涉及屬性說明和服務(wù)說明兩個(gè)重要部分。對(duì)象的概念:對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。一個(gè)對(duì)象由一組屬性和對(duì)這組屬性進(jìn)行操作的一組服務(wù)組成。從更抽象的角度來說,對(duì)象是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體。客觀世界是由對(duì)象和對(duì)象之間的聯(lián)系組成的。類與對(duì)象的關(guān)系就如模具和鑄件的關(guān)系,類的實(shí)例化結(jié)果就是對(duì)象,而對(duì)一類對(duì)象的抽象就是類。類描述了一組有相同特性(屬性)和相同行為(方法)的對(duì)象。上面大約就是它們的定義吧,也許你是剛接觸面向?qū)ο蟮呐笥眩灰桓拍畹臇|西搞暈了,給你舉個(gè)例子吧,假如你去中關(guān)村想買幾臺(tái)組裝的PC機(jī),到了那里你第一步要干什么,是不是裝機(jī)的工程師和你坐在一起,按你提供的信息和你一起完畢一個(gè)裝機(jī)的配置單呀,這個(gè)配置單就可以想象成是類,它就是一張紙,但是它上面記錄了你要買的PC機(jī)的信息,假如用這個(gè)配置單買10臺(tái)機(jī)器,那么這10臺(tái)機(jī)子,都是按這個(gè)配置單組成的,所以說這10機(jī)子是一個(gè)類型的,也可以說是一類的。那么什么是對(duì)象呢,類的實(shí)例化結(jié)果就是對(duì)象,用這個(gè)配置單配置出來(實(shí)例化出來)的機(jī)子就是對(duì)象,是我們可以操作的實(shí)體,10臺(tái)機(jī)子,10個(gè)對(duì)象。每臺(tái)機(jī)子都是獨(dú)立的,只能說明他們是同一類的,對(duì)其中一個(gè)機(jī)做任何動(dòng)作都不會(huì)影響其它9臺(tái)機(jī)器,但是我對(duì)類修改,也就是在這個(gè)配置單上加一個(gè)或少一個(gè)配件,那么裝出來的9個(gè)機(jī)子都改變了,這是類對(duì)象的關(guān)系(類的實(shí)例化結(jié)果就是對(duì)象)。3.什么是面向?qū)ο缶幊棠兀?/p>
就不說他的概念,假如你想建立一個(gè)電腦教室,一方面要有一個(gè)房間,房間里面要有N臺(tái)電腦,有N張桌子,N把椅子,白板,投影機(jī)等等,這些是什么,剛才咱們說了,這就是對(duì)象,能看到的一個(gè)個(gè)的實(shí)體,可以說這個(gè)電腦教室的單位就是這一個(gè)個(gè)的實(shí)體對(duì)象,它們共同組成了這個(gè)電腦教室,那么我們是做程序,這和面向?qū)ο笥惺裁搓P(guān)系呢?開發(fā)一個(gè)系統(tǒng)程序和建一個(gè)電腦教室類似,你把每個(gè)獨(dú)立的功能模塊抽象成類,形成對(duì)象,由多個(gè)對(duì)象組成這個(gè)系統(tǒng),這些對(duì)象之間都可以接受信息、解決數(shù)據(jù)和向其它對(duì)象發(fā)送信息等等互相作用。就構(gòu)成了面向?qū)ο蟮某绦颉?.如何抽象出一個(gè)類?
上面已經(jīng)介紹過了,面向?qū)ο蟪绦虻膯挝痪褪菍?duì)象,但對(duì)象又是通過類的實(shí)例化出來的,所以我們一方面要做的就是如何來聲明類,做出來一個(gè)類很容易,只要掌握基本的程序語法定義規(guī)則就可以做的出來,那么難點(diǎn)在那里呢?一個(gè)項(xiàng)目要用到多少個(gè)類,用多少個(gè)對(duì)象,在那要定義類,定義一個(gè)什么樣的類,這個(gè)類實(shí)例化出多少個(gè)對(duì)象,類里面有多少個(gè)屬性,有多少個(gè)方法等等,這就需要讀者通過在實(shí)際的開發(fā)中就實(shí)際問題分析設(shè)計(jì)和總結(jié)了。類的定義:class類名{
}使用一個(gè)關(guān)鍵字class和后面加上一個(gè)你想要的類名以及加上一對(duì)大括號(hào),這樣一個(gè)類的結(jié)構(gòu)就定義出來了,只要在里面寫代碼就可以了,但是里面寫什么?能寫什么?如何寫才是一個(gè)完整的
類呢?上面講過來,使用類是為了讓它實(shí)例出對(duì)象來給我們用,這就要知道你想要的是什么樣的對(duì)象了,像上面我們講的一個(gè)裝機(jī)配置單上寫什么,你裝出來的機(jī)子就有什么。比如說,一個(gè)人就是一對(duì)象,你怎么把一個(gè)你看好的人推薦給你們領(lǐng)導(dǎo)呢?當(dāng)然是越具體越好了:一方面,你會(huì)介紹這個(gè)人姓名、性別、年齡、身高、體重、電話、家庭住址等等。然后,你要介紹這個(gè)人能做什么,可以開車,會(huì)說英語,可以使用電腦等等。只要你介紹多一點(diǎn),別人對(duì)這個(gè)人就多一點(diǎn)了解,這就是我們對(duì)一個(gè)人的描述,現(xiàn)在我們總結(jié)一下,所有的對(duì)象我們用類去描述都是類似的,從上面人的描述可以看到,做出一個(gè)類來,從定義的角度分兩部分,第一是從靜態(tài)上描述,第二是從動(dòng)態(tài)上描述,靜態(tài)上的描述就是我們所說的屬性,像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。動(dòng)態(tài)上也就是人的這個(gè)對(duì)象的功能,比如這個(gè)人可以開車,會(huì)說英語,可以使用電腦等等,抽象成程序時(shí),我們把動(dòng)態(tài)的寫成函數(shù)或者說是方法,函數(shù)和方法是同樣的。所以,所有類都是從屬性和方法這兩方面去寫,屬性又叫做這個(gè)類的成員屬性,方法叫做這個(gè)類的成員方法。class人{(lán)
成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址
成員方法:可以開車,會(huì)說英語,可以使用電腦
}屬性:
通過在類定義中使用關(guān)鍵字"var"來聲明變量,即創(chuàng)建了類的屬性,雖然在聲明成員屬性的時(shí)候可以給定初始值,但是在聲明類的時(shí)候給成員屬性初始值是沒有必要的,比如說要是把人的姓名賦上“張三”,那么用這個(gè)類實(shí)例出幾十個(gè)人,這幾十個(gè)人都叫張三了,所以沒有必要,我們?cè)趯?shí)例出對(duì)象后給成員屬性初始值就可以了。如:var$somevar;
方法(成員函數(shù)):
通過在類定義中聲明函數(shù),即創(chuàng)建了類的方法。
如:functionsomefun(參數(shù)列表)
{......}
<?php
classPerson
{
//下面是人的成員屬性
var$name;//人的名字
var$sex;//人的性別
var$age;//人的年齡
//下面是人的成員方法
functionsay()//這個(gè)人可以說話的方法
{
echo"這個(gè)人在說話";
}f
unctionrun()//這個(gè)人可以走路的方法
{
echo"這個(gè)人在走路";
}
}
?>
上面就是一個(gè)類的聲明,從屬性和方法上聲明出來的一個(gè)類,但是成員屬性最佳在聲明的時(shí)候不要給初始的值,由于我們做的人這個(gè)類是一個(gè)描述信息,將來用它實(shí)例化對(duì)象,比如實(shí)例化出來10個(gè)人對(duì)象,那么這10個(gè)人,每一個(gè)人的名字、性別、年齡都是不同樣的,所以最佳不要在這個(gè)地方給成員屬性賦初值,而是對(duì)每個(gè)對(duì)象分別賦值的。用同樣的辦法可以做出你想要的類了,只要你能用屬性和方法能描述出來的實(shí)體都可以定義成類,去實(shí)例化對(duì)象。為了加強(qiáng)你對(duì)類的理解,我們?cè)僮鲆粋€(gè)類,做一個(gè)形狀的類,形狀的范圍廣了點(diǎn),我們就做個(gè)矩形吧,先分析一下,想一想從兩方面分析,矩形的屬性都有什么?矩形的功能都有什么?class矩形
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 泰州環(huán)保球場(chǎng)施工方案
- 繩索操作考試題及答案
- 陜師大歷史復(fù)試題及答案
- 2025年cdfi醫(yī)師上崗考試試題及答案
- 5年級(jí)上冊(cè)手抄報(bào)全部總結(jié)
- 登鸛雀樓吟誦符號(hào)
- arp報(bào)文發(fā)送的描述
- 【無印良品】大眾推廣策劃案 - 副本 - 副本
- 2025年臨汾職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫完美版
- 2025年關(guān)于黨史知識(shí)競(jìng)賽培訓(xùn)題庫及答案
- 工業(yè)機(jī)器人及零部件結(jié)構(gòu)設(shè)計(jì)
- OA辦公系統(tǒng)的詳細(xì)介紹
- 心理疏導(dǎo)之藝術(shù)療愈課程
- 多元化團(tuán)隊(duì)背景下領(lǐng)導(dǎo)力對(duì)團(tuán)隊(duì)績效作用研究
- SY-T 7693-2023 石油天然氣鉆采設(shè)備 防噴器膠芯
- 產(chǎn)科醫(yī)療質(zhì)量持續(xù)改進(jìn)QCC品管圈PDCA案例合集
- 培訓(xùn)機(jī)構(gòu)與家長協(xié)議書協(xié)議書
- 口腔專項(xiàng)護(hù)士基礎(chǔ)知識(shí)考試試題及答案
- 個(gè)人所得稅贍養(yǎng)老人約定分?jǐn)倕f(xié)議書(范本)正規(guī)范本(通用版)
- 重大事故隱患專項(xiàng)排查檢查表
- 《小學(xué)生C++創(chuàng)意編程》第3單元課件 選擇結(jié)構(gòu)
評(píng)論
0/150
提交評(píng)論