版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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,編程所使用的方法通常有兩種: 面向過程的方法:如C,pascal等 面向?qū)ο蟮姆椒ǎ喝鏹ava、C+、C#等 PHP是一種混合語言,具有面向過程和面向?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è)類來說,可以說人具有國籍(即人這個(gè)類具有國籍這一屬性),但不能說人這個(gè)類的國藉是什么。 類有兩種成員,即變量(屬性)和作用于變量的函數(shù)(方法)。二者構(gòu)成了類的基礎(chǔ)。 2、使用類的好處 在大規(guī)模的編程中,往往某段程序可能會(huì)在多處使用到,如果將這些重用的代碼,通過類進(jìn)行封裝,需要的時(shí)候只需通過類的實(shí)例來調(diào)用類中的成員或方法即可。具體來說有以下幾個(gè)方面的優(yōu)點(diǎn):,第10章 PHP中的圖像處理,5,第13章 PHP面向?qū)ο缶幊?易維護(hù) 質(zhì)量高 效率高 易擴(kuò)展 二、在PHP中創(chuàng)建和使用類 1、自建類-類的封裝 (1)創(chuàng)建類 語法結(jié)構(gòu): c
3、lass 類名 成員變量; 成員方法; 參見教材P210例,第10章 PHP中的圖像處理,6,第13章 PHP面向?qū)ο缶幊?(1)創(chuàng)建對(duì)象 創(chuàng)建類的目的是為了使用它,而使用的方式就是通過類的實(shí)例(對(duì)象)來進(jìn)行。 語法: $objectname = new classname; 創(chuàng)建了對(duì)象之后,就可以調(diào)用類中的成員了(即變量和方法) 其語法格式為: $objectname-varname; $objectname-functionname; 例:P211-212類的成員的引用,第10章 PHP中的圖像處理,7,第13章 PHP面向?qū)ο缶幊?2、為類添加成員變量和成員方法 在創(chuàng)建類的過程中,通常需
4、要添加變量和函數(shù),以實(shí)現(xiàn)某方面的功能。 參見P213-214例子 3、類的繼承 同其它面象對(duì)象語言一樣,在PHP中通過類的繼承可以使一個(gè)新的類具有和原來的類相同的屬性和方法。 PHP中類的繼承語法: 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ì)影響到父類中相同的方法。 如果要在子類中訪問父類的方法,必須通過關(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ù),通過參數(shù)的類型、個(gè)數(shù)、順序等來進(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年湖南有色金屬職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試參考題庫有答案解析
- 2026年河北機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)考試模擬試題帶答案解析
- 2026年福建商學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試模擬試題帶答案解析
- 2026年合肥濱湖職業(yè)技術(shù)學(xué)院?jiǎn)握芯C合素質(zhì)筆試備考試題帶答案解析
- 2026年廣西交通職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能筆試備考題庫帶答案解析
- 2026年合肥信息技術(shù)職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試備考題庫帶答案解析
- 2026年保山中醫(yī)藥高等專科學(xué)校單招綜合素質(zhì)考試備考題庫帶答案解析
- 2026年廣東江門中醫(yī)藥職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試備考題庫有答案解析
- 數(shù)字廣告投放合同協(xié)議2025年
- 2026年黑龍江職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能考試參考題庫帶答案解析
- 2026貴州黔南州長(zhǎng)順縣醫(yī)療集團(tuán)中心醫(yī)院招聘?jìng)浒妇幹迫藛T21人筆試參考題庫及答案解析
- 中國兒童原發(fā)性免疫性血小板減少癥診斷與治療改編指南(2025版)
- 2026年遼寧生態(tài)工程職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試題庫附答案詳解
- 基坑回填質(zhì)量控制措施
- 2025重慶城口縣國有企業(yè)公開招聘26人參考題庫附答案
- 應(yīng)力性骨折課件
- 醫(yī)?;鸨O(jiān)管培訓(xùn)課件
- 新型醫(yī)療器械應(yīng)用評(píng)估報(bào)告
- 2023心力衰竭器械治療進(jìn)展
- 2025年大學(xué)《應(yīng)急裝備技術(shù)與工程-應(yīng)急裝備概論》考試備考試題及答案解析
- 2025年國家開放大學(xué)(電大)《護(hù)理倫理學(xué)》期末考試復(fù)習(xí)題庫及答案解析
評(píng)論
0/150
提交評(píng)論