程序員韓第六章面向?qū)ο缶幊蘝第1頁
程序員韓第六章面向?qū)ο缶幊蘝第2頁
程序員韓第六章面向?qū)ο缶幊蘝第3頁
程序員韓第六章面向?qū)ο缶幊蘝第4頁
程序員韓第六章面向?qū)ο缶幊蘝第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

PHP面向?qū)ο缶幊?oop)【1】講師:韓順平學(xué)習(xí)內(nèi)容主講:韓順平php面向?qū)ο缶幊?類與對(duì)象php面向?qū)ο缶幊?構(gòu)造方法/析構(gòu)方法php面向?qū)ο缶幊?成員方法面向?qū)ο缶幊?this垃圾回收器類中的魔術(shù)方法類的自動(dòng)加載學(xué)習(xí)目標(biāo)主講:韓順平初步掌握php中的類和對(duì)象各種變量(對(duì)象)在內(nèi)存中存在形式分析什么是成員屬性和成員方法掌握構(gòu)造方法/析構(gòu)方法的使用垃圾回收器PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平一個(gè)問題?有兩貓:一只名字叫小白,今年3歲,白色。還有一只叫小花,今年10歲,花色。請(qǐng)編寫一個(gè)程序,當(dāng)用戶輸入小貓的名字時(shí),就顯示該貓的名字,年齡,顏色。如果用戶輸入的小貓名錯(cuò)誤,則顯示張沒有這只貓貓。PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平如何解決?①用我們現(xiàn)有的技術(shù)來解決(object1.php)PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平如何解決?②用面向?qū)ο蠹夹g(shù)來解決顯示貓問題(見object1.php)簡單說明和小結(jié)PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平一個(gè)程序就是一個(gè)世界PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平匯編語言

c語言

java語言

php[面向機(jī)器]=>'匯編不會(huì)編=》寫驅(qū)動(dòng)'[面向過程]=>'函數(shù)'[面向?qū)ο骫=>'類與對(duì)象'[面向?qū)ο骫=>'類與對(duì)象'php支持面向?qū)ο髉hp初期并不支持面向?qū)ο缶幊?但計(jì)算機(jī)語言的發(fā)展是向接近人的思維方式演變的,這是一個(gè)大趨勢。PHP之父RasmusLerdorf在設(shè)計(jì)php4時(shí),就引入的面向?qū)ο蟮乃枷?在php5中就全面支持面向?qū)ο缶幊塘耍@讓php看起來很像java。老韓:一句話說明oop[面向?qū)ο缶幊蘛和過程編程和職業(yè)規(guī)劃PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類和對(duì)象的關(guān)系貓類名字屬性顏色屬性年齡屬性對(duì)象(實(shí)例)對(duì)象(實(shí)例)把貓的特性提取出來人類對(duì)象(實(shí)例)對(duì)象(實(shí)例)把人的特性提取出來注意:通過類創(chuàng)建對(duì)象(比如貓類),目前有幾種說法:1.創(chuàng)建一個(gè)對(duì)象2.實(shí)例化一個(gè)對(duì)象3.把類實(shí)例化…以后大家聽到這些說法,不要迷糊.當(dāng)然,上面的貓也可是魚、狗、人…php5后續(xù)版本全面支持面向?qū)ο骩舉例:創(chuàng)建貓和人對(duì)象,并總結(jié)說明]PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類和對(duì)象的區(qū)別和聯(lián)系通過上面的案例和講解我們可以看出:①類是抽象的,概念的,代表一類事物,比如人類,貓類..②對(duì)象是具體的,實(shí)際的,代表一個(gè)具體事物③類是對(duì)象的模板,對(duì)象是類的一個(gè)個(gè)體實(shí)例PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類-如何定義類一個(gè)全面的類定義比較復(fù)雜:類是比較難的,需要分解一個(gè)類的完整定義為了讓大伙接受比較輕松愉快,所以我們類的定義在逐步的完善,當(dāng)大伙聽完php面向?qū)ο缶幊踢@個(gè)章節(jié)的時(shí)候,我們的類定義的各個(gè)細(xì)節(jié)就全部出來了PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類-如何定義類前面我們講的類是非常粗略的,要透徹的掌握類,我們必須要了解類的構(gòu)成,為了讓大家聽的輕松一點(diǎn),我們給大家看一個(gè)圖:class

類名{訪問修飾符成員屬性(變量);}待定…PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類-成員屬性(變量)成員屬性是類的一個(gè)組成部分,一般是基本數(shù)據(jù)類型(整數(shù),字符串等),也可是復(fù)合類型(對(duì)象、數(shù)組),資源類型。比如我們前面定義貓類的

public

$age

就是成員屬性。小結(jié)舉例說明一把A類PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平對(duì)象-如何創(chuàng)建對(duì)象對(duì)象-如何訪問(使用)對(duì)象的屬性$對(duì)象名=new類名();$對(duì)象名=new類名;$對(duì)象名->屬性名;->稱為對(duì)象運(yùn)算符類名的使用說明類名不區(qū)分大小寫類名的規(guī)范問題(看文檔)class

Monk{public

$name;public

$age;}PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平對(duì)象傳遞方式(重點(diǎn),難點(diǎn))為了讓大家加深印象,我們定義一個(gè)人類(Person)(包括名字,年齡)。(Person.class.php)我們看看下面一段代碼:$a=new

Person();$a->age=10;$a->name=“金角大王”;$b=$a;echo

$b->name;$a->name='銀角大王';echo

$b->name;echo

$b->name;請(qǐng)問:$b->name究竟是多少?結(jié)論:PHP當(dāng)中$b=$a

也是值傳遞,但是這個(gè)值是對(duì)象的引用(可以理解對(duì)象標(biāo)識(shí)符),即每個(gè)包含對(duì)象的變量都持有對(duì)象的引用(reference),而不是整個(gè)對(duì)象的拷貝。PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平對(duì)象傳遞方式對(duì)象總是存在內(nèi)存中的,那么對(duì)象在內(nèi)存中究竟是怎樣存在的?這里我們給大家伙畫一個(gè)圖來說明一下,這個(gè)圖對(duì)我們理解對(duì)象在內(nèi)存中如何存在是非常重要的.PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平使用圖解方式解釋為什么這樣?對(duì)象傳遞機(jī)制深入剖析class

Person{public

$name}$p1

=

new

Person;$p1->name='aa';$p2=$p1;$p2='abc';echo

$p1->name?PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平成員方法(函數(shù))基本介紹在某些情況下,我們要需要定義成員方法。比如人類:除了有一些屬性外(成員變量表示的年齡,姓名..),我們?nèi)祟愡€有一些行為比如:可以說話、跑步..,通過學(xué)習(xí),我們?nèi)祟愡€可以做算術(shù)題。這時(shí)就要用成員方法才能

完成.現(xiàn)在要求對(duì)Person類完善:①添加sayHello成員方法,輸出'hello'②添加getResult成員方法,可以計(jì)算1到10的和③修改getResult2成員方法,該方法可以接收一個(gè)數(shù)num,計(jì)算它的三倍值結(jié)果④添加getMax成員方法,可以計(jì)算顯示最大值.訪問修飾符function

函數(shù)名(參數(shù)列表){函數(shù)體;return

結(jié)果;//也可不返回結(jié)果}[object3.php]PHP面向?qū)ο缶幊獭斫庹{(diào)用主講:韓順平成員方法(函數(shù))—調(diào)用理解給大家舉個(gè)通俗的示例:司令官給戰(zhàn)士下達(dá)作戰(zhàn)計(jì)劃,戰(zhàn)士完整任務(wù),并匯報(bào)結(jié)果!圖解PHP面向?qū)ο缶幊獭瘮?shù)細(xì)節(jié)主講:韓順平成員方法(函數(shù))—細(xì)節(jié)說明①方法的參數(shù)列表可以是多個(gè),類型可以是任意類型。②方法可以沒有return,默認(rèn)返回NULL③成員方法,不可以直接調(diào)用,而是通過對(duì)象實(shí)例調(diào)用的PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類的成員方法(函數(shù))-課堂練習(xí),動(dòng)手練一練編寫一個(gè)Cat類,含有二個(gè)成員方法,從網(wǎng)頁輸入一個(gè)整數(shù)(1-9),打印出對(duì)應(yīng)的乘法表:(愛做數(shù)學(xué)題的小貓,另外可以求出兩個(gè)數(shù)的和,差)課堂練習(xí)題PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平類定義的完善在介紹了成員方法后,我們類的定義就可以完善一步:class

類名{成員屬性(變量);}class

類名{成員屬性;成員方法;}待定…PHP面向?qū)ο缶幊獭惻c對(duì)象主講:韓順平小結(jié)先設(shè)計(jì)類(定屬性/定成員方法)然后根據(jù)類創(chuàng)建對(duì)象小練習(xí)(課堂練習(xí))設(shè)計(jì)計(jì)算機(jī)類,要求如下:屬性:品牌,顏色,cpu型號(hào),內(nèi)存容量,硬盤大小,價(jià)格,工作狀態(tài)方法:打開,關(guān)閉,休眠(表示)創(chuàng)建一個(gè)計(jì)算機(jī)對(duì)象,調(diào)用打開,關(guān)閉方法.采用面向?qū)ο笏枷朐O(shè)計(jì)超級(jí)馬里奧游戲人物課堂練習(xí)題,后面評(píng)講PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平類的構(gòu)造方法(函數(shù))-為什么需要什么是構(gòu)造函數(shù)呢?在回答這個(gè)問題之前,我們來看一個(gè)需求:前面我們在創(chuàng)建人類的對(duì)象時(shí),是先把一個(gè)對(duì)象創(chuàng)建好后,再給他的年齡和姓名屬性賦值,如果現(xiàn)在我要求,在創(chuàng)建人類的對(duì)象時(shí),就指定這個(gè)對(duì)象的年齡和姓名,該怎么做?你可以在定義類的時(shí)候,定義一個(gè)構(gòu)造方法即可。PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平類的構(gòu)造函數(shù)-基本介紹和快速入門現(xiàn)在我們就用構(gòu)造函數(shù)來完成剛才提出的問題:在創(chuàng)建人類的對(duì)象時(shí),就指定這個(gè)對(duì)象的年齡和姓名,該怎么做?先對(duì)構(gòu)造函數(shù)進(jìn)行幾點(diǎn)說明.

Person

(name,

age,

food)construct1.php

該案例同時(shí)引出$this修飾符

function

construct(參數(shù)列表){//初始化操作}PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平類的構(gòu)造函數(shù)-細(xì)節(jié)說明構(gòu)造函數(shù)是類的一種特殊的方法,它的主要作用是完成對(duì)新對(duì)象的初始化。它有幾個(gè)細(xì)節(jié)說明:①?zèng)]有返回值②在創(chuàng)建一個(gè)類的新對(duì)象時(shí),系統(tǒng)會(huì)自動(dòng)的調(diào)用該類的構(gòu)造方法完成對(duì)新對(duì)象的初始化。③構(gòu)造函數(shù)是完成初始化,而不創(chuàng)建對(duì)象PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平類的構(gòu)造函數(shù)-細(xì)節(jié)說明③在php4中構(gòu)造函數(shù)名和類名一樣④在php5中不但支持php4中構(gòu)造函數(shù),同時(shí)還增加了另外一種方式:class

Cat{修飾符function

Cat(參數(shù)列表){//初始化操作}}class

Cat{修飾符

function

construct(參數(shù)列表){//初始化操作}}在php5中,建議大家使用

construct()方法PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平construct1.php默認(rèn)構(gòu)造函數(shù)-基本介紹有些同志可能會(huì)問?老韓,我們在沒有學(xué)習(xí)構(gòu)造函數(shù)前不是也可以創(chuàng)建對(duì)象嗎?是這樣的,如果程序員沒有定義構(gòu)造函數(shù),系統(tǒng)會(huì)自動(dòng)生成一個(gè)默認(rèn)構(gòu)造函數(shù)。比如Monk類publicfunction

construct

(){};當(dāng)創(chuàng)建一個(gè)Monk對(duì)象時(shí)$monk1=new

Monk();默認(rèn)的構(gòu)造函數(shù)就會(huì)被自動(dòng)的調(diào)用.一旦自定義了一個(gè)構(gòu)造函數(shù),默認(rèn)的構(gòu)造函數(shù)就被覆蓋了,這時(shí)在創(chuàng)建對(duì)象的時(shí)候就要使用自定義的構(gòu)造函數(shù).(2)一個(gè)類只能有一個(gè)構(gòu)造函數(shù).PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平構(gòu)造函數(shù)-細(xì)節(jié)說明<?phpclass

Person{public

$name;public

$age;function

construct($name,$age){$this->name=$name;$this->age=$age;}function

show(){echo

$this->name.'='.$this->age;}function

construct(){}};$p1=new

Person();?>php中構(gòu)造函數(shù)不能有多個(gè),即不能重載PHP面向?qū)ο缶幊獭猼his主講:韓順平什么是this系統(tǒng)會(huì)給每個(gè)對(duì)象分配this,代表當(dāng)前對(duì)象。坦白的講,要明白this

不是件容易的事,我給大家打一個(gè)比方。[女媧造人小故事/趙奧]$this'我的'$this->屬性名;'我的'PHP面向?qū)ο缶幊獭猼his主講:韓順平進(jìn)一步理解this為了進(jìn)一步理解this,我們再看一個(gè)案例(this1.php)$this

是典型的執(zhí)行環(huán)境,誰調(diào)用,那個(gè)對(duì)象就為當(dāng)前的執(zhí)行環(huán)境簡單的說,哪個(gè)對(duì)象調(diào)用,$this就代表哪個(gè)對(duì)象蜘蛛俠,蝙蝠俠分析內(nèi)存圖!!關(guān)鍵增加showInfo()PHP面向?qū)ο缶幊獭猼his主講:韓順平this-注意事項(xiàng)this不能在類定義的外部使用,只能在類定義的方法中使用。舉例說明PHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平類的構(gòu)造函數(shù)小結(jié)①構(gòu)造方法名和類名相同(php4版),php5版的構(gòu)造方法名可以和類名相同,也可以是

construct()②構(gòu)造方法沒有返回值③主要作用是完成對(duì)新對(duì)象的初始化,并不是創(chuàng)建對(duì)象本身。⑤一個(gè)類有且只有一個(gè)構(gòu)造方法,在php5后雖然

construct()和

類名()

可以共存,但是實(shí)際上也只能使用一個(gè)。⑥如果沒有給類自定義構(gòu)造方法,則該類使用系統(tǒng)默認(rèn)的構(gòu)造方法。⑦如果給類自定義了構(gòu)造方法,則該類的默認(rèn)構(gòu)造方法被覆蓋。⑧構(gòu)造方法的默認(rèn)訪問修飾符是publicPHP面向?qū)ο缶幊獭獦?gòu)造函數(shù)主講:韓順平class

類名{成員屬性(變量);}class

類名{成員屬性;成員函數(shù);}class

類名{成員屬性;構(gòu)造函數(shù)($this);成員函數(shù);}待定..類定義的改進(jìn)在提出構(gòu)造函數(shù)后,我們類的定義就更加完善了:PHP面向?qū)ο缶幊獭鰳?gòu)函數(shù)主講:韓順平析構(gòu)函數(shù)-基本介紹PHP5引入了析構(gòu)函數(shù)的概念,這類似于C++。析構(gòu)函數(shù)會(huì)在某個(gè)對(duì)象的所有引用都被刪除或者當(dāng)對(duì)象被顯式銷毀時(shí)執(zhí)行。析構(gòu)函數(shù)主要的作用是去釋放對(duì)象分配的相關(guān)資源,比如數(shù)據(jù)庫鏈接的function

destruct(){//釋放資源操作}快速入門案例什么情況下會(huì)觸發(fā)析構(gòu)方法程序運(yùn)行結(jié)束前,對(duì)象會(huì)被銷毀當(dāng)沒有變量指向?qū)ο髸r(shí)比如unset()或者讓對(duì)象變量指向其它數(shù)據(jù)PHP程序執(zhí)行的一個(gè)流程分析PHP面向?qū)ο缶幊獭鰳?gòu)函數(shù)主講:韓順平析構(gòu)函數(shù)-快速入門思考題:看看運(yùn)行這段代碼會(huì)輸出什么?PHP面向?qū)ο缶幊獭鰳?gòu)函數(shù)主講:韓順平析構(gòu)函數(shù)-快速入門思考題:看看運(yùn)行這段代碼會(huì)輸出什么?各種變化,讓學(xué)員去回答?有難度,是犀??萍嫉拿嬖囶}?$p1

=

null;$p2

=

'abc'unset($p3);PHP面向?qū)ο缶幊獭鰳?gòu)方法主講:韓順平析構(gòu)方法-其它說明當(dāng)沒有變量指向某個(gè)對(duì)象時(shí),這個(gè)對(duì)象就會(huì)被銷毀在銷毀對(duì)象前,析構(gòu)函數(shù)會(huì)被調(diào)用析構(gòu)函數(shù)不是銷毀對(duì)象本身,而是銷毀對(duì)象創(chuàng)建的相關(guān)資源,比如數(shù)據(jù)庫鏈接等等PHP面向?qū)ο缶幊獭鰳?gòu)方法主講:韓順平析構(gòu)方法-最佳實(shí)踐希望在程序沒有結(jié)束前,就銷毀某個(gè)對(duì)象實(shí)例及時(shí)的銷毀對(duì)象創(chuàng)建的資源,比如數(shù)據(jù)庫鏈接PHP面向?qū)ο缶幊獭鰳?gòu)方法主講:韓順平php垃圾回收機(jī)制(了解)-基本介紹在php中,當(dāng)一個(gè)對(duì)象沒有任何引用指向它的時(shí)候,就會(huì)成為一 個(gè)垃圾對(duì)象,php將啟用垃圾回收器將對(duì)象銷毀.當(dāng)程序退出前,php也將啟用垃圾回收器,銷毀對(duì)象特別說明:當(dāng)一個(gè)對(duì)象沒有任何引用指向它的時(shí)候,并不說一定要$dog1=null

這種操作,$dog1=其它值,比如$dog1='abc'等也是一樣的。還可以是unset($對(duì)象);畫圖說明下沒有任何引用的具體情況:PHP面向?qū)ο缶幊獭鰳?gòu)方法主講:韓順平php垃圾回收機(jī)制(了解)-細(xì)節(jié)說明PHP垃圾回收機(jī)制是php5之后才有的這個(gè)東西,php5.3之前使用的垃圾回收機(jī)制是單純的“引用計(jì)數(shù)”,也就是每個(gè)內(nèi)存對(duì)象都分配一個(gè)計(jì)數(shù)器,當(dāng)內(nèi)存對(duì)象被變量引用時(shí),計(jì)數(shù)器+1;當(dāng)變量引用撤掉后,計(jì)數(shù)器-1;當(dāng)計(jì)數(shù)器=0時(shí),表明內(nèi)存對(duì)象沒有被使用,該內(nèi)存對(duì)象則進(jìn)行銷毀,垃圾回收完成。php5.3開始,使用了新的垃圾回收機(jī)制,在引用計(jì)數(shù)基礎(chǔ)上,實(shí)現(xiàn)了一種復(fù)雜的算法,來檢測內(nèi)存對(duì)象中引用環(huán)的存在,以避免內(nèi)存泄露。PHP面向?qū)ο缶幊獭鰳?gòu)方法主講:韓順平類的析構(gòu)方法小結(jié)①php5加入的的析構(gòu)方法function

destruct()②析構(gòu)方法沒有返回值③主要作用是釋放資源的操作,并不是銷毀對(duì)象本身。④在銷毀對(duì)象前,系統(tǒng)自動(dòng)的調(diào)用該類的析構(gòu)方法⑤一個(gè)類最多只有一個(gè)析構(gòu)方法。⑥析構(gòu)函數(shù)是publicPHP面向?qū)ο缶幊獭鰳?gòu)函數(shù)主講:韓順平類定義的改進(jìn)在提出析構(gòu)方法后,我們類的定義就更加完善了:class

類名{成員屬性(變量);}class

類名{成員屬性;成員函數(shù);}class

類名{成員屬性;構(gòu)造函數(shù);成員函數(shù);}class

類名{成員屬性;構(gòu)造函數(shù);成員函數(shù);析構(gòu)函數(shù);}待定..PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法一覽和基本介紹

construct

destruct

call

[在對(duì)象中調(diào)用一個(gè)不可訪問方法時(shí), call()

會(huì)被調(diào)用]

callStatic

get

set

isset

unset

sleep

[串行化的時(shí)候用,涉及到序列化,后面說]

wakeup

[反串行化的時(shí)候用,涉及到序列化,后面說]

toString

set_state

clone

[對(duì)象克隆前被調(diào)用]PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-基本介紹由系統(tǒng)自動(dòng)調(diào)用函數(shù)名的開頭由

兩個(gè)下劃線特別說明:PHP

將所有以

(兩個(gè)下劃線)開頭的類方法保留為魔術(shù)方法。所以在定義類方法時(shí),除了上述魔術(shù)方法,建議不要以

為前綴。PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-基本介紹因?yàn)槟g(shù)方法和修飾訪問符public/protected/private有關(guān),所以

我們先簡單介紹一下public/protected/private,后面在面向?qū)ο缶幊倘筇卣饕徽轮校€要詳細(xì)介紹說明:對(duì)屬性或方法的訪問控制,是通過在前面添加關(guān)鍵字public(公有),protected(受保護(hù))或private(私有)來實(shí)現(xiàn)的。被定義為公有的類成員可以在任何地方被訪問。被定義為受保護(hù)的類成員則可以被其自身以及其子類和父類訪問。被定義為私有的類成員則只能被其定義所在的類訪問。PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-基本介紹訪問修飾符的基本介紹代碼小結(jié)總結(jié)幾句話PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-具體介紹

get

,

讀取不可訪問屬性的值(比如:private/protected/不存在)時(shí),

get(

set

,

在給不可訪問屬性賦值(比如:private/protected/不存在)時(shí),

set(需求:如果對(duì)象有一個(gè)成員變量是private、protectd的,我希望在在類的外部通過$對(duì)象名->變量名的方式來賦值和取值,怎么辦?示意圖:PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-具體介紹

set和

get

的課堂練習(xí)要求:請(qǐng)編寫一個(gè)汽車類(有價(jià)格,品牌,速度,車主四個(gè)個(gè)屬性),要求車主是private類型,其它是public類型。可以通過$對(duì)象名->車主屬性名賦值,還可以通過echo

$對(duì)象名->車主屬性名顯示車主是誰PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-具體介紹

isset,當(dāng)對(duì)不可訪問屬性(比如:private/protected/不存在)調(diào)用

isset()

empty()

時(shí), isset()會(huì)被調(diào)用。

unset,當(dāng)對(duì)不可訪問屬性(比如:private/protected/不存在)調(diào)用

unset()

時(shí),

unset()會(huì)被調(diào)用需求:如果我們希望在類的外部,通過isset($對(duì)象名->成員屬性名)和unset($對(duì)象名->成員屬性名)來判斷或銷毀對(duì)象的某個(gè)成員變量,怎么辦?PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法(

isset

unset用法)-具體介紹PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法(

isset

unset用法)-具體介紹

isset和

unset

的課堂練習(xí)要求:請(qǐng)編寫一個(gè)房子類(有價(jià)格,房子地址,房主三個(gè)屬性),要求房主是protected類型,其它是public類型。在創(chuàng)建房子對(duì)象時(shí),要求通過構(gòu)造方法直接給三個(gè)屬性賦值.在類外部,可以通過isset($對(duì)象名->房主屬性名)判斷是否存在這個(gè)屬性,,還可以通過unset($對(duì)象名->房主屬性名)銷毀房主屬性PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-具體介紹

toStriing,將對(duì)象以字符串的形式輸出PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法(

toString用法)-具體介紹

toString的課堂練習(xí)要求:請(qǐng)編寫一個(gè)怪物類(有本領(lǐng),年齡,名字三個(gè)屬性),要求三個(gè)屬性全部都是private。在創(chuàng)建怪物對(duì)象時(shí),要求通過構(gòu)造方法直接給三個(gè)屬性賦值.在類外部,可以通過echo

怪物對(duì)象名;顯示該怪物的全部信息.PHP面向?qū)ο缶幊獭g(shù)方法主講:韓順平魔術(shù)方法-具體介紹

clone,如果定義了

clone()方法,則新創(chuàng)建的對(duì)象(復(fù)制生成的對(duì)象)中的

clone()方法會(huì)被調(diào)用

[對(duì)象比較和防克隆?]現(xiàn)在有一個(gè)對(duì)象$a,

請(qǐng)問,如何創(chuàng)建一個(gè)和$a

對(duì)象的屬性完全一樣的對(duì)象$b,

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論