




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第13章 PHP面向?qū)ο缶幊?煙臺(tái)南山學(xué)院軟件工程學(xué)院,第10章 PHP中的圖像處理,2,本章主要內(nèi)容,什么是面向?qū)ο缶幊?在PHP中創(chuàng)建和使用類 PHP中類相關(guān)的函數(shù) PHP中使用類的實(shí)例,第10章 PHP中的圖像處理,3,編程所使用的方法通常有兩種: 面向過(guò)程的方法:如C,pascal等 面向?qū)ο蟮姆椒ǎ喝鏹ava、C+、C#等 PHP是一種混合語(yǔ)言,具有面向過(guò)程和面向?qū)ο蟮膬煞N模式,用戶可以根據(jù)自己的習(xí)慣選擇某種模式。,第10章 PHP中的圖像處理,4,第13章 PHP面向?qū)ο缶幊?一、面向?qū)ο蠡A(chǔ) 1、什么是類? 類是具有相同屬性定義和行為的表現(xiàn)的事物的集合。 例如:人、動(dòng)物、植物 類
2、不是指?jìng)€(gè)體,而是一個(gè)概念,真正用到的是類的實(shí)例(對(duì)象),因此對(duì)人這個(gè)類來(lái)說(shuō),可以說(shuō)人具有國(guó)籍(即人這個(gè)類具有國(guó)籍這一屬性),但不能說(shuō)人這個(gè)類的國(guó)藉是什么。 類有兩種成員,即變量(屬性)和作用于變量的函數(shù)(方法)。二者構(gòu)成了類的基礎(chǔ)。 2、使用類的好處 在大規(guī)模的編程中,往往某段程序可能會(huì)在多處使用到,如果將這些重用的代碼,通過(guò)類進(jìn)行封裝,需要的時(shí)候只需通過(guò)類的實(shí)例來(lái)調(diào)用類中的成員或方法即可。具體來(lái)說(shuō)有以下幾個(gè)方面的優(yōu)點(diǎn):,第10章 PHP中的圖像處理,5,第13章 PHP面向?qū)ο缶幊?易維護(hù) 質(zhì)量高 效率高 易擴(kuò)展 二、在PHP中創(chuàng)建和使用類 1、自建類-類的封裝 (1)創(chuàng)建類 語(yǔ)法結(jié)構(gòu): c
3、lass 類名 成員變量; 成員方法; 參見教材P210例,第10章 PHP中的圖像處理,6,第13章 PHP面向?qū)ο缶幊?(1)創(chuàng)建對(duì)象 創(chuàng)建類的目的是為了使用它,而使用的方式就是通過(guò)類的實(shí)例(對(duì)象)來(lái)進(jìn)行。 語(yǔ)法: $objectname = new classname; 創(chuàng)建了對(duì)象之后,就可以調(diào)用類中的成員了(即變量和方法) 其語(yǔ)法格式為: $objectname-varname; $objectname-functionname; 例:P211-212類的成員的引用,第10章 PHP中的圖像處理,7,第13章 PHP面向?qū)ο缶幊?2、為類添加成員變量和成員方法 在創(chuàng)建類的過(guò)程中,通常需
4、要添加變量和函數(shù),以實(shí)現(xiàn)某方面的功能。 參見P213-214例子 3、類的繼承 同其它面象對(duì)象語(yǔ)言一樣,在PHP中通過(guò)類的繼承可以使一個(gè)新的類具有和原來(lái)的類相同的屬性和方法。 PHP中類的繼承語(yǔ)法: Class Son_class extends class 注意:PHP中不支持類的多重繼承;思考C+,C#,java是否能支持多重繼承?如果不能,如何實(shí)現(xiàn)多重繼承現(xiàn)象? 類的繼承實(shí)例:參見教材P215,第10章 PHP中的圖像處理,8,第13章 PHP面向?qū)ο缶幊?4、類的重載 一個(gè)子類的屬性和方法,有時(shí)會(huì)同父類的屬性和方法重名,這時(shí)就出現(xiàn)了類的重載。 類的重載實(shí)質(zhì)就是類中的屬性和方法的重載。表
5、現(xiàn)為子類中又重新定義了與父類中的屬性和方法同名的變量和函數(shù)。 在執(zhí)行子類的某個(gè)方法時(shí),還將執(zhí)行子類中同名的方法,不會(huì)影響到父類中相同的方法。 如果要在子類中訪問(wèn)父類的方法,必須通過(guò)關(guān)鍵字self和parent。 思考:在java和C#中如果實(shí)現(xiàn)這樣的功能? 例:如何使用類的重載,如何在子類中對(duì)其父類的方法進(jìn)行調(diào) 用?參見教材P216-217,第10章 PHP中的圖像處理,9,第13章 PHP面向?qū)ο缶幊?4、類的引用 類的引用是指在一個(gè)類中使用了其他類的屬性和方法(注意這兩個(gè)類沒有繼承關(guān)系) 主要適用于兩個(gè)有關(guān)聯(lián)的類之間的情形。 參見教材P218實(shí)例 5、類的構(gòu)造函數(shù) 構(gòu)造函數(shù)可以理解為當(dāng)創(chuàng)建
6、類的實(shí)例時(shí),一定發(fā)生作用的函數(shù),即當(dāng)使用new創(chuàng)建對(duì)象時(shí),構(gòu)造函數(shù)將會(huì)自動(dòng)被調(diào)用。 構(gòu)造函數(shù)通常用于初始化成員變量。 思考1:一個(gè)類中可以有多個(gè)構(gòu)造函數(shù),但必須參數(shù)有區(qū)別。在創(chuàng)建對(duì)象時(shí),調(diào)用哪一個(gè)構(gòu)造函數(shù),通過(guò)參數(shù)的類型、個(gè)數(shù)、順序等來(lái)進(jìn)行識(shí)別。 參見P219-220實(shí)例。,第10章 PHP中的圖像處理,10,第13章 PHP面向?qū)ο缶幊?思考2:一個(gè)類中如果沒有定義構(gòu)造函數(shù),創(chuàng)建對(duì)象是否就沒有構(gòu)造函數(shù)?如果調(diào)用了構(gòu)造函數(shù),那么此時(shí)構(gòu)造函數(shù)的作用是什么? 三、PHP中與類、對(duì)象相關(guān)的函數(shù) 1、array get_declared_classes() 功能:返回由已定義類的名字所組成的數(shù)組。 P
7、HP中有預(yù)定義類,它們由系統(tǒng)自動(dòng)生成,使用該函數(shù)時(shí)會(huì)有幾個(gè)預(yù)定義類存在于返回的數(shù)組中。這些預(yù)定義類為: stdClass、_PHP_Incomplete_Class、Directory等。 例P225 注意:由于版本不同,返回的預(yù)定義類可能不相同。,第10章 PHP中的圖像處理,11,第13章 PHP面向?qū)ο缶幊?2、array get_object_vars(object obj) 功能:返回由對(duì)象屬性組成的關(guān)聯(lián)數(shù)組 例P236程序 3、string get_class(object obj) 功能:返回對(duì)象的類名,如果object不是一個(gè)對(duì)象返回為false。 4、string get_p
8、arent_class(mixted obj) 功能:返回對(duì)象或類的父類名;如果obj是對(duì)象,則返回該對(duì)象實(shí)例obj所屬類的父類名;如果obj是字符串,則返回以字符串為名的類的父類名。 5、bool is_subClass_of(object object,string class_name) 功能:如果對(duì)象object所屬類是類class_name的子類,則返回為true,否則返回為false。主要用于判斷某個(gè)對(duì)象是否屬于某個(gè)類或者是其父類。參見P228程序示例,第10章 PHP中的圖像處理,12,第13章 PHP面向?qū)ο缶幊?6、bool class_exists(string class_name,bool autoload) 功能:檢查類是否已經(jīng)定義,如果由字符串class_name所指的類已經(jīng)定義,則返回為true,否則返回為false。 7、bool method_exists(object objec, string method_name) 功能:檢查object類的method_name方法是否存在,如果存在返回為true,否則返回false。 參見P229-230程序示例。 8、array get_class_vars(string class_name) 功能:返回類的默認(rèn)公有屬性組成的數(shù)組。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于區(qū)塊鏈的抗合謀動(dòng)態(tài)隱私保護(hù)訪問(wèn)控制方案
- 校園網(wǎng)絡(luò)法制教育方案流程
- 2025年安全評(píng)價(jià)師(高級(jí))安全評(píng)價(jià)報(bào)告編制團(tuán)隊(duì)管理試題
- IT行業(yè)審計(jì)質(zhì)量保障措施方案
- 2025年中國(guó)一次性使用引流袋市場(chǎng)發(fā)展規(guī)劃及投資戰(zhàn)略可行性預(yù)測(cè)報(bào)告
- 超大絲號(hào)電焊網(wǎng)項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2024年全球及中國(guó)玻璃樹脂混合鏡片行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年中國(guó)安防攝像頭行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 2023-2029年中國(guó)辦公建筑建設(shè)行業(yè)發(fā)展監(jiān)測(cè)及市場(chǎng)發(fā)展?jié)摿︻A(yù)測(cè)報(bào)告
- 2025年中國(guó)功率表行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 鋼結(jié)構(gòu)安裝合同模板(六篇)
- 比亞迪宋PLUS EV說(shuō)明書
- 2023-2024學(xué)年江蘇省張家港市小學(xué)語(yǔ)文五年級(jí)期末自測(cè)模擬考試題詳細(xì)參考答案解析
- 2023名校人教版數(shù)學(xué)青島市第三十九中學(xué)分班考試模擬試卷
- 中國(guó)糖尿病患者的白內(nèi)障圍手術(shù)期防治策略專家共識(shí)(2020年)
- 安全施工作業(yè)票(樣板)
- 蘇教版必修1《離子反應(yīng)》優(yōu)秀課件
- 復(fù)合樹脂粘接修復(fù)術(shù)的基本操作步驟
- 第九單元第1課時(shí)《數(shù)與代數(shù)》示范公開課教案【人教小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)】
- 教學(xué)設(shè)計(jì) 同分母分?jǐn)?shù)加減法教案“百校聯(lián)賽”一等獎(jiǎng)
- GB/T 29256.3-2012紡織品機(jī)織物結(jié)構(gòu)分析方法第3部分:織物中紗線織縮的測(cè)定
評(píng)論
0/150
提交評(píng)論