版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?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è)對象都可以接受信息、解決數(shù)據(jù)和向其它對象發(fā)送信息。面向?qū)ο笠恢笔擒浖_發(fā)領(lǐng)域內(nèi)比較熱門的話題,一方面,面向?qū)ο蠓先祟惪创挛锏囊话阋?guī)律。另一方面,采用面向?qū)ο蠓椒梢允瓜到y(tǒng)各部分各司其職、各盡所能。為編程人員敞開了一扇大門,使其編程的代碼更簡潔、更易于維護(hù),并且具有更強(qiáng)的可重用性。有人說PHP不是一個(gè)真正的面向?qū)ο蟮恼Z言,這是事實(shí)。PHP是一個(gè)混合型語言,你可以使用OOP,也可以使用傳統(tǒng)的過程化編程。然而,對于大型項(xiàng)目,你也許需要在PHP中使用純的OOP去聲明類,并且在你的項(xiàng)目里只用對象和類。這個(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.什么是類,什么是對象,類和對象之間的關(guān)系
3.什么是面向?qū)ο缶幊棠兀?/p>
4.如何抽象出一個(gè)類?
5.如何實(shí)例化對象?
6.如何去使用對象中的成員?
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.克隆對象
19.__call解決調(diào)用錯(cuò)誤
20.自動加載類
21.把對象串行化
22.抽象方法和抽象類
23.php5接口技術(shù)=======================================================
2.什么是類,什么是對象,類和對象之間的關(guān)系
類的概念:類是具有相同屬性和服務(wù)的一組對象的集合。它為屬于該類的所有對象提供了統(tǒng)一的抽象描述,其內(nèi)部涉及屬性和服務(wù)兩個(gè)重要部分。在面向?qū)ο蟮木幊陶Z言中,類是一個(gè)獨(dú)立的程序單位,它應(yīng)當(dāng)有一個(gè)類名并涉及屬性說明和服務(wù)說明兩個(gè)重要部分。對象的概念:對象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,它是構(gòu)成系統(tǒng)的一個(gè)基本單位。一個(gè)對象由一組屬性和對這組屬性進(jìn)行操作的一組服務(wù)組成。從更抽象的角度來說,對象是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這些屬性進(jìn)行操作的一組服務(wù)的封裝體??陀^世界是由對象和對象之間的聯(lián)系組成的。類與對象的關(guān)系就如模具和鑄件的關(guān)系,類的實(shí)例化結(jié)果就是對象,而對一類對象的抽象就是類。類描述了一組有相同特性(屬性)和相同行為(方法)的對象。上面大約就是它們的定義吧,也許你是剛接觸面向?qū)ο蟮呐笥眩灰桓拍畹臇|西搞暈了,給你舉個(gè)例子吧,假如你去中關(guān)村想買幾臺組裝的PC機(jī),到了那里你第一步要干什么,是不是裝機(jī)的工程師和你坐在一起,按你提供的信息和你一起完畢一個(gè)裝機(jī)的配置單呀,這個(gè)配置單就可以想象成是類,它就是一張紙,但是它上面記錄了你要買的PC機(jī)的信息,假如用這個(gè)配置單買10臺機(jī)器,那么這10臺機(jī)子,都是按這個(gè)配置單組成的,所以說這10機(jī)子是一個(gè)類型的,也可以說是一類的。那么什么是對象呢,類的實(shí)例化結(jié)果就是對象,用這個(gè)配置單配置出來(實(shí)例化出來)的機(jī)子就是對象,是我們可以操作的實(shí)體,10臺機(jī)子,10個(gè)對象。每臺機(jī)子都是獨(dú)立的,只能說明他們是同一類的,對其中一個(gè)機(jī)做任何動作都不會影響其它9臺機(jī)器,但是我對類修改,也就是在這個(gè)配置單上加一個(gè)或少一個(gè)配件,那么裝出來的9個(gè)機(jī)子都改變了,這是類對象的關(guān)系(類的實(shí)例化結(jié)果就是對象)。3.什么是面向?qū)ο缶幊棠兀?/p>
就不說他的概念,假如你想建立一個(gè)電腦教室,一方面要有一個(gè)房間,房間里面要有N臺電腦,有N張桌子,N把椅子,白板,投影機(jī)等等,這些是什么,剛才咱們說了,這就是對象,能看到的一個(gè)個(gè)的實(shí)體,可以說這個(gè)電腦教室的單位就是這一個(gè)個(gè)的實(shí)體對象,它們共同組成了這個(gè)電腦教室,那么我們是做程序,這和面向?qū)ο笥惺裁搓P(guān)系呢?開發(fā)一個(gè)系統(tǒng)程序和建一個(gè)電腦教室類似,你把每個(gè)獨(dú)立的功能模塊抽象成類,形成對象,由多個(gè)對象組成這個(gè)系統(tǒng),這些對象之間都可以接受信息、解決數(shù)據(jù)和向其它對象發(fā)送信息等等互相作用。就構(gòu)成了面向?qū)ο蟮某绦颉?.如何抽象出一個(gè)類?
上面已經(jīng)介紹過了,面向?qū)ο蟪绦虻膯挝痪褪菍ο?,但對象又是通過類的實(shí)例化出來的,所以我們一方面要做的就是如何來聲明類,做出來一個(gè)類很容易,只要掌握基本的程序語法定義規(guī)則就可以做的出來,那么難點(diǎn)在那里呢?一個(gè)項(xiàng)目要用到多少個(gè)類,用多少個(gè)對象,在那要定義類,定義一個(gè)什么樣的類,這個(gè)類實(shí)例化出多少個(gè)對象,類里面有多少個(gè)屬性,有多少個(gè)方法等等,這就需要讀者通過在實(shí)際的開發(fā)中就實(shí)際問題分析設(shè)計(jì)和總結(jié)了。類的定義:class類名{
}使用一個(gè)關(guān)鍵字class和后面加上一個(gè)你想要的類名以及加上一對大括號,這樣一個(gè)類的結(jié)構(gòu)就定義出來了,只要在里面寫代碼就可以了,但是里面寫什么?能寫什么?如何寫才是一個(gè)完整的
類呢?上面講過來,使用類是為了讓它實(shí)例出對象來給我們用,這就要知道你想要的是什么樣的對象了,像上面我們講的一個(gè)裝機(jī)配置單上寫什么,你裝出來的機(jī)子就有什么。比如說,一個(gè)人就是一對象,你怎么把一個(gè)你看好的人推薦給你們領(lǐng)導(dǎo)呢?當(dāng)然是越具體越好了:一方面,你會介紹這個(gè)人姓名、性別、年齡、身高、體重、電話、家庭住址等等。然后,你要介紹這個(gè)人能做什么,可以開車,會說英語,可以使用電腦等等。只要你介紹多一點(diǎn),別人對這個(gè)人就多一點(diǎn)了解,這就是我們對一個(gè)人的描述,現(xiàn)在我們總結(jié)一下,所有的對象我們用類去描述都是類似的,從上面人的描述可以看到,做出一個(gè)類來,從定義的角度分兩部分,第一是從靜態(tài)上描述,第二是從動態(tài)上描述,靜態(tài)上的描述就是我們所說的屬性,像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。動態(tài)上也就是人的這個(gè)對象的功能,比如這個(gè)人可以開車,會說英語,可以使用電腦等等,抽象成程序時(shí),我們把動態(tài)的寫成函數(shù)或者說是方法,函數(shù)和方法是同樣的。所以,所有類都是從屬性和方法這兩方面去寫,屬性又叫做這個(gè)類的成員屬性,方法叫做這個(gè)類的成員方法。class人{(lán)
成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址
成員方法:可以開車,會說英語,可以使用電腦
}屬性:
通過在類定義中使用關(guān)鍵字"var"來聲明變量,即創(chuàng)建了類的屬性,雖然在聲明成員屬性的時(shí)候可以給定初始值,但是在聲明類的時(shí)候給成員屬性初始值是沒有必要的,比如說要是把人的姓名賦上“張三”,那么用這個(gè)類實(shí)例出幾十個(gè)人,這幾十個(gè)人都叫張三了,所以沒有必要,我們在實(shí)例出對象后給成員屬性初始值就可以了。如: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í)例化對象,比如實(shí)例化出來10個(gè)人對象,那么這10個(gè)人,每一個(gè)人的名字、性別、年齡都是不同樣的,所以最佳不要在這個(gè)地方給成員屬性賦初值,而是對每個(gè)對象分別賦值的。用同樣的辦法可以做出你想要的類了,只要你能用屬性和方法能描述出來的實(shí)體都可以定義成類,去實(shí)例化對象。為了加強(qiáng)你對類的理解,我們再做一個(gè)類,做一個(gè)形狀的類,形狀的范圍廣了點(diǎn),我們就做個(gè)矩形吧,先分析一下,想一想從兩方面分析,矩形的屬性都有什么?矩形的功能都有什么?class矩形
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國社會科學(xué)院亞太與全球戰(zhàn)略研究院公開招聘第一批專業(yè)技術(shù)人員備考題庫及答案詳解參考
- 中國人民銀行所屬企業(yè)網(wǎng)聯(lián)清算有限公司2026年度校園招聘26人備考題庫及一套參考答案詳解
- 2025年北師大實(shí)驗(yàn)中學(xué)國際部招聘備考題庫及1套完整答案詳解
- 2025年大田縣公安局招聘21名警務(wù)輔助人員備考題庫及答案詳解1套
- 雙鴨山市集賢縣公益性崗位招聘筆試真題2024
- 上高縣公安局2025年治安巡防隊(duì)員招聘備考題庫及一套答案詳解
- 2025年甌海三醫(yī)面向社會公開招聘工作人員備考題庫及完整答案詳解1套
- 2025年西北工業(yè)大學(xué)材料學(xué)院特種陶瓷及復(fù)合材料制備與評價(jià)項(xiàng)目組招聘備考題庫及答案詳解一套
- 2025年及未來5年市場數(shù)據(jù)中國大豆基粘合劑市場運(yùn)行態(tài)勢及行業(yè)發(fā)展前景預(yù)測報(bào)告
- 漢江師范學(xué)院藝術(shù)學(xué)院2025-2026學(xué)年第二學(xué)期外聘教師招聘備考題庫完整參考答案詳解
- 醫(yī)院培訓(xùn)課件:《護(hù)患溝通技巧》
- 關(guān)于魯迅簡介
- 余華讀書分享名著導(dǎo)讀《文城》
- 電力增容工程投標(biāo)方案(技術(shù)標(biāo))
- 押金退款申請書
- 勞動合同書通用電子版下載2022
- 胸痛中心的救治流程
- 河北省藥學(xué)會科學(xué)技術(shù)獎申報(bào)書年度
- 2023年隆回縣體育教師招聘筆試題庫及答案
- JJF 1548-2015楔形塞尺校準(zhǔn)規(guī)范
- GB/T 13916-2002沖壓件形狀和位置未注公差
評論
0/150
提交評論