




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
面向?qū)ο缶幊蹋∣bjectOrientedProgramming,OOP,面向?qū)ο蟪绦蛟O計)是一種計算機編程架構(gòu),OOP的一條基本原則是計算機程序是由單個可以起到子程序作用的單元或?qū)ο蠼M合而成,OOP達成了軟件工程的三個目的:重用性、靈活性和擴展性。為了實現(xiàn)整體運算,每個對象都可以接受信息、解決數(shù)據(jù)和向其它對象發(fā)送信息。面向?qū)ο笠恢笔擒浖_發(fā)領(lǐng)域內(nèi)比較熱門的話題,一方面,面向?qū)ο蠓先祟惪创挛锏囊话阋?guī)律。另一方面,采用面向?qū)ο蠓椒梢允瓜到y(tǒng)各部分各司其職、各盡所能。為編程人員敞開了一扇大門,使其編程的代碼更簡潔、更易于維護,并且具有更強的可重用性。有人說PHP不是一個真正的面向?qū)ο蟮恼Z言,這是事實。PHP是一個混合型語言,你可以使用OOP,也可以使用傳統(tǒng)的過程化編程。然而,對于大型項目,你也許需要在PHP中使用純的OOP去聲明類,并且在你的項目里只用對象和類。這個概念我先不多說了,由于有很多朋友遠離面向?qū)ο缶幊痰闹匾蛩鼐褪且唤佑|面向?qū)ο蟾拍畹臅r候就理解不上去,所以就不想去學下去了。等讀者看完整篇內(nèi)容后再去把概念搞明白吧。
先上視頻教程:
PHP100視頻教程17:PHP面向?qū)ο箝_發(fā)的學習(一)
PHP100視頻教程18:PHP面向?qū)ο箝_發(fā)的學習(二)
PHP100視頻教程19:PHP面向?qū)ο箝_發(fā)的學習(三)
PHP100視頻教程20:PHP面向?qū)ο箝_發(fā)的學習(四)
PHP100視頻教程21:PHP面向?qū)ο箝_發(fā)的學習(五)
PHP100視頻教程22:PHP面向?qū)ο箝_發(fā)的學習(六)
PHP100視頻教程23:PHP面向?qū)ο箝_發(fā)的學習(七)
PHP100視頻教程24:PHP面向?qū)ο箝_發(fā)的學習(八)
PHP100視頻教程25:PHP面向?qū)ο箝_發(fā)的學習(九)
實例:
PHP100視頻教程26:制作自己的PHP+MYSQL的類更多相關(guān)=======================================================文章目錄:
1.面向?qū)ο蟮母拍?/p>
2.什么是類,什么是對象,類和對象之間的關(guān)系
3.什么是面向?qū)ο缶幊棠兀?/p>
4.如何抽象出一個類?
5.如何實例化對象?
6.如何去使用對象中的成員?
7.特殊的引用“$this”的使用
8.構(gòu)造方法與析構(gòu)方法
9.封裝性
10.__set()、__get()、__isset()、__unset()四個方法的應用
11.類的繼承
12.多態(tài)的應用
13.重載新的方法
14.訪問類型
15.靜態(tài)成員的使用
16.final關(guān)鍵字的應用
17.__toString()方法
18.克隆對象
19.__call解決調(diào)用錯誤
20.自動加載類
21.把對象串行化
22.抽象方法和抽象類
23.php5接口技術(shù)=======================================================
2.什么是類,什么是對象,類和對象之間的關(guān)系
類的概念:類是具有相同屬性和服務的一組對象的集合。它為屬于該類的所有對象提供了統(tǒng)一的抽象描述,其內(nèi)部涉及屬性和服務兩個重要部分。在面向?qū)ο蟮木幊陶Z言中,類是一個獨立的程序單位,它應當有一個類名并涉及屬性說明和服務說明兩個重要部分。對象的概念:對象是系統(tǒng)中用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的一個基本單位。一個對象由一組屬性和對這組屬性進行操作的一組服務組成。從更抽象的角度來說,對象是問題域或?qū)崿F(xiàn)域中某些事物的一個抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮的作用;它是一組屬性和有權(quán)對這些屬性進行操作的一組服務的封裝體。客觀世界是由對象和對象之間的聯(lián)系組成的。類與對象的關(guān)系就如模具和鑄件的關(guān)系,類的實例化結(jié)果就是對象,而對一類對象的抽象就是類。類描述了一組有相同特性(屬性)和相同行為(方法)的對象。上面大約就是它們的定義吧,也許你是剛接觸面向?qū)ο蟮呐笥眩灰桓拍畹臇|西搞暈了,給你舉個例子吧,假如你去中關(guān)村想買幾臺組裝的PC機,到了那里你第一步要干什么,是不是裝機的工程師和你坐在一起,按你提供的信息和你一起完畢一個裝機的配置單呀,這個配置單就可以想象成是類,它就是一張紙,但是它上面記錄了你要買的PC機的信息,假如用這個配置單買10臺機器,那么這10臺機子,都是按這個配置單組成的,所以說這10機子是一個類型的,也可以說是一類的。那么什么是對象呢,類的實例化結(jié)果就是對象,用這個配置單配置出來(實例化出來)的機子就是對象,是我們可以操作的實體,10臺機子,10個對象。每臺機子都是獨立的,只能說明他們是同一類的,對其中一個機做任何動作都不會影響其它9臺機器,但是我對類修改,也就是在這個配置單上加一個或少一個配件,那么裝出來的9個機子都改變了,這是類對象的關(guān)系(類的實例化結(jié)果就是對象)。3.什么是面向?qū)ο缶幊棠兀?/p>
就不說他的概念,假如你想建立一個電腦教室,一方面要有一個房間,房間里面要有N臺電腦,有N張桌子,N把椅子,白板,投影機等等,這些是什么,剛才咱們說了,這就是對象,能看到的一個個的實體,可以說這個電腦教室的單位就是這一個個的實體對象,它們共同組成了這個電腦教室,那么我們是做程序,這和面向?qū)ο笥惺裁搓P(guān)系呢?開發(fā)一個系統(tǒng)程序和建一個電腦教室類似,你把每個獨立的功能模塊抽象成類,形成對象,由多個對象組成這個系統(tǒng),這些對象之間都可以接受信息、解決數(shù)據(jù)和向其它對象發(fā)送信息等等互相作用。就構(gòu)成了面向?qū)ο蟮某绦颉?.如何抽象出一個類?
上面已經(jīng)介紹過了,面向?qū)ο蟪绦虻膯挝痪褪菍ο螅珜ο笥质峭ㄟ^類的實例化出來的,所以我們一方面要做的就是如何來聲明類,做出來一個類很容易,只要掌握基本的程序語法定義規(guī)則就可以做的出來,那么難點在那里呢?一個項目要用到多少個類,用多少個對象,在那要定義類,定義一個什么樣的類,這個類實例化出多少個對象,類里面有多少個屬性,有多少個方法等等,這就需要讀者通過在實際的開發(fā)中就實際問題分析設計和總結(jié)了。類的定義:class類名{
}使用一個關(guān)鍵字class和后面加上一個你想要的類名以及加上一對大括號,這樣一個類的結(jié)構(gòu)就定義出來了,只要在里面寫代碼就可以了,但是里面寫什么?能寫什么?如何寫才是一個完整的
類呢?上面講過來,使用類是為了讓它實例出對象來給我們用,這就要知道你想要的是什么樣的對象了,像上面我們講的一個裝機配置單上寫什么,你裝出來的機子就有什么。比如說,一個人就是一對象,你怎么把一個你看好的人推薦給你們領(lǐng)導呢?當然是越具體越好了:一方面,你會介紹這個人姓名、性別、年齡、身高、體重、電話、家庭住址等等。然后,你要介紹這個人能做什么,可以開車,會說英語,可以使用電腦等等。只要你介紹多一點,別人對這個人就多一點了解,這就是我們對一個人的描述,現(xiàn)在我們總結(jié)一下,所有的對象我們用類去描述都是類似的,從上面人的描述可以看到,做出一個類來,從定義的角度分兩部分,第一是從靜態(tài)上描述,第二是從動態(tài)上描述,靜態(tài)上的描述就是我們所說的屬性,像上面我們看到的,人的姓名、性別、年齡、身高、體重、電話、家庭住址等等。動態(tài)上也就是人的這個對象的功能,比如這個人可以開車,會說英語,可以使用電腦等等,抽象成程序時,我們把動態(tài)的寫成函數(shù)或者說是方法,函數(shù)和方法是同樣的。所以,所有類都是從屬性和方法這兩方面去寫,屬性又叫做這個類的成員屬性,方法叫做這個類的成員方法。class人{
成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址
成員方法:可以開車,會說英語,可以使用電腦
}屬性:
通過在類定義中使用關(guān)鍵字"var"來聲明變量,即創(chuàng)建了類的屬性,雖然在聲明成員屬性的時候可以給定初始值,但是在聲明類的時候給成員屬性初始值是沒有必要的,比如說要是把人的姓名賦上“張三”,那么用這個類實例出幾十個人,這幾十個人都叫張三了,所以沒有必要,我們在實例出對象后給成員屬性初始值就可以了。如:var$somevar;
方法(成員函數(shù)):
通過在類定義中聲明函數(shù),即創(chuàng)建了類的方法。
如:functionsomefun(參數(shù)列表)
{......}
<?php
classPerson
{
//下面是人的成員屬性
var$name;//人的名字
var$sex;//人的性別
var$age;//人的年齡
//下面是人的成員方法
functionsay()//這個人可以說話的方法
{
echo"這個人在說話";
}f
unctionrun()//這個人可以走路的方法
{
echo"這個人在走路";
}
}
?>
上面就是一個類的聲明,從屬性和方法上聲明出來的一個類,但是成員屬性最佳在聲明的時候不要給初始的值,由于我們做的人這個類是一個描述信息,將來用它實例化對象,比如實例化出來10個人對象,那么這10個人,每一個人的名字、性別、年齡都是不同樣的,所以最佳不要在這個地方給成員屬性賦初值,而是對每個對象分別賦值的。用同樣的辦法可以做出你想要的類了,只要你能用屬性和方法能描述出來的實體都可以定義成類,去實例化對象。為了加強你對類的理解,我們再做一個類,做一個形狀的類,形狀的范圍廣了點,我們就做個矩形吧,先分析一下,想一想從兩方面分析,矩形的屬性都有什么?矩形的功能都有什么?class矩形
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐廳臨時出租協(xié)議書
- 針灸推拿醫(yī)生協(xié)議書
- 裝修公司學徒協(xié)議書
- 營運車輛入股協(xié)議書
- 銀行貸款免還協(xié)議書
- 餐廳經(jīng)營轉(zhuǎn)讓協(xié)議書
- 食品貨車司機協(xié)議書
- 閑置水廠合作協(xié)議書
- 音樂機構(gòu)入股協(xié)議書
- 酒店投資合伙協(xié)議書
- DB23T 3711-2024市縣級礦產(chǎn)資源總體規(guī)劃編制技術(shù)規(guī)程
- 智能座艙域控制器液冷散熱設計及仿真研究
- 2025年沈陽汽車城開發(fā)建設集團有限公司招聘筆試參考題庫含答案解析
- 田徑理論考試復習題庫300題(含各題型)
- 泛海三江JB-QGL-9000、JB-QTL-9000、JB-QBL-9000火災報警控制器
- 員工團建就餐合同
- 電氣工程及其自動化畢業(yè)設計 基于PLC的噴涂機器人控制系統(tǒng)的設計
- 滑雪培訓服務合同
- 肌肉注射課件(共45張課件)
- 工程經(jīng)濟學(青島理工大學)知到智慧樹章節(jié)測試課后答案2024年秋青島理工大學
- 2025年國家電網(wǎng)有限公司招聘筆試參考題庫含答案解析
評論
0/150
提交評論