《PHP學(xué)習(xí):PHP多態(tài)代碼實(shí)例》要點(diǎn):
本文介紹了PHP學(xué)習(xí):PHP多態(tài)代碼實(shí)例,希望對您有用。如果有疑問,可以聯(lián)系我們。
多態(tài)定義:只關(guān)心一個接口或者基類,而不關(guān)心一個對象的具體類.(同一類型,不同結(jié)果)PHP學(xué)習(xí)
這里兩個例子:PHP學(xué)習(xí)
第一個,我們發(fā)現(xiàn),基類定義了標(biāo)準(zhǔn),子類進(jìn)行了自我規(guī)則的實(shí)現(xiàn).這是多態(tài)的一個要求.同時,這是滿足重寫;實(shí)際上這是不同類的不同表現(xiàn);沒有嚴(yán)格滿足一個接口,或者基類編程.因?yàn)槟阏{(diào)用的時候不是 stu->showGrade() 而是各自自己的方法;PHP學(xué)習(xí)
class stu{ public function showGrade(){ echo "base class"; } } class xiaomin extends stu{ public function showGrade(){ echo "is son show 80"; } } class xiaoli extends stu{ public function showGrade(){ echo "is son show 60"; } } function doit($obj){ if(get_class($obj) != "stu"){ $obj->showGrade(); } } doit(new xiaoli()); doit(new xiaomin());
第二個例子:dovoice 參數(shù)規(guī)定了$obj 為animal,意識就是用接口 接受了 實(shí)現(xiàn)類對象.了向上轉(zhuǎn)型.這就符合同一類型,不同結(jié)果了,這就是多態(tài);PHP學(xué)習(xí)
實(shí)際上在Java中 會是 animal a = new dog();這樣子的;因?yàn)镻HP 是若類型語言.沒有對象轉(zhuǎn)型機(jī)制.PHP學(xué)習(xí)
interface animal{ public function voice(); } class cat implements animal{ public function voice(){ echo "miao~~~<br>"; } } class dog implements animal{ public function voice(){ echo "wang ~~~<br>"; } } function dovoice(animal $obj){ $obj->voice(); } dovoice(new dog()); dovoice(new cat());
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP學(xué)習(xí):PHP多態(tài)代碼實(shí)例》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10045.html