您好,登錄后才能下訂單哦!
今天小編給大家分享的是PHP面向?qū)ο蟮奶攸c(diǎn)與類的關(guān)系,很多人都不太了解,今天小編為了讓大家更加了解PHP面向?qū)ο蟮奶攸c(diǎn),所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。
一、面向?qū)ο蟮母拍?/strong>
1、面向?qū)ο髮?shí)現(xiàn)了軟件工程的三個(gè)目標(biāo):重用性、靈活性和擴(kuò)展性
2、使其編程的代碼更簡(jiǎn)潔,更易于維護(hù),并且具有更強(qiáng)的可重用性
3、面向?qū)ο蟮奶攸c(diǎn):
封裝:隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié)
繼承:從一個(gè)基類得到一個(gè)或多個(gè)類的機(jī)制
多態(tài):根據(jù)使用類的上下文來(lái)重新定義或改變類的性質(zhì)或行為
二、類和對(duì)象的關(guān)系
1、類是用于生成對(duì)象的代碼模板
2、PHP中使用關(guān)鍵字class和一個(gè)任意的類名來(lái)聲明一個(gè)類,首字母大寫(xiě)
3、對(duì)象是類的“實(shí)例”,類是對(duì)象的抽象
//聲明一個(gè)類 class Book{ } //實(shí)例化一個(gè)對(duì)象 $book = new Book();
三、類中的屬性
1、指在類中聲明的變量,也被稱為成員變量,用來(lái)存放對(duì)象之間互不相同的數(shù)據(jù)
2、屬性的使用:通常使用“->”符號(hào)連接對(duì)象和屬性名來(lái)訪問(wèn)屬性變量
3、在類方法內(nèi)部通過(guò)“$this->”來(lái)訪問(wèn)同一對(duì)象的屬性
4、指向?qū)ο蟮淖兞渴且粋€(gè)引用變量,在這個(gè)變量里面存儲(chǔ)的是所指向?qū)ο蟮膬?nèi)存地址
//聲明一個(gè)類 class Book{ public $name='PHP學(xué)習(xí)'; public function getName(){ return $this->name; } } //實(shí)例化一個(gè)對(duì)象 $book = new Book(); //訪問(wèn)類的對(duì)象成員 echo $book->name;//輸出 PHP學(xué)習(xí) //訪問(wèn)類的對(duì)象方法 echo $book->getName();//輸出 PHP學(xué)習(xí)
四、類中的方法
1、屬性可以讓對(duì)象存儲(chǔ)數(shù)據(jù),類中的方法則可以讓對(duì)象執(zhí)行任務(wù)
2、方法的使用:使用“->”符號(hào)連接對(duì)象和方法名來(lái)調(diào)用方法,后面要帶圓括號(hào)
3、如果參數(shù)數(shù)量超過(guò)方法定義參數(shù)的數(shù)量,PHP會(huì)忽略多余的參數(shù),不會(huì)報(bào)錯(cuò)
4、允許向一個(gè)方法內(nèi)部傳遞另外一個(gè)對(duì)象的引用
五、構(gòu)造方法
1、構(gòu)造方法是對(duì)象被創(chuàng)建時(shí)自動(dòng)調(diào)用的方法,用來(lái)確保必要的屬性被設(shè)置
2、使用__construct()來(lái)定義構(gòu)造函數(shù)
//用來(lái)初始化一個(gè)成員變量 public function __construct(){ $this->name = 'PHP學(xué)習(xí)'; }
六、析構(gòu)函數(shù)與PHP的垃圾回收機(jī)制
1、析構(gòu)方法是當(dāng)某個(gè)對(duì)象成為垃圾或者當(dāng)對(duì)象被顯式銷毀時(shí)執(zhí)行的方法。
2、沒(méi)有任何變量引用這個(gè)對(duì)象時(shí),該對(duì)象就成為垃圾,PHP會(huì)自動(dòng)將其在內(nèi)存中銷毀,垃圾處理機(jī)制
3、當(dāng)一個(gè)PHP線程結(jié)束時(shí),當(dāng)前占用的所有內(nèi)存空間都會(huì)被銷毀,所有對(duì)象同樣被銷毀
4、使用__destruct()來(lái)定義析構(gòu)函數(shù),一般不要去定義析構(gòu)函數(shù)
5、當(dāng)對(duì)象沒(méi)有引用時(shí),對(duì)象同樣被銷毀
以上就是PHP面向?qū)ο蟮奶攸c(diǎn)與類的關(guān)系的詳細(xì)內(nèi)容了,看完之后是否有所收獲呢?如果如果想了解更多,歡迎來(lái)億速云行業(yè)資訊!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。