php 多肽实例
多態(tài)定義:只關(guān)心一個(gè)接口或者基類,而不關(guān)心一個(gè)對(duì)象的具體類。(同一類型,不同結(jié)果)
這里兩個(gè)例子:
第一個(gè),我們發(fā)現(xiàn),基類定義了標(biāo)準(zhǔn),子類進(jìn)行了自我規(guī)則的實(shí)現(xiàn)。這是多態(tài)的一個(gè)要求。同時(shí),這是滿足重寫;實(shí)際上這是不同類的不同表現(xiàn);沒(méi)有嚴(yán)格滿足一個(gè)接口,或者基類編程。因?yàn)槟阏{(diào)用的時(shí)候不是 stu->showGrade() 而是各自自己的方法;
?
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());?
第二個(gè)例子:dovoice 參數(shù)規(guī)定了$obj 為animal,意識(shí)就是用接口 接受了 實(shí)現(xiàn)類對(duì)象。了向上轉(zhuǎn)型。這就符合同一類型,不同結(jié)果了,這就是多態(tài);
實(shí)際上在Java中 會(huì)是 animal a = new dog();這樣子的;因?yàn)镻HP 是若類型語(yǔ)言。沒(méi)有對(duì)象轉(zhuǎn)型機(jī)制。
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());轉(zhuǎn)自?https://www.jb51.net/article/68451.htm
轉(zhuǎn)載于:https://www.cnblogs.com/llkbk/p/9990708.html
總結(jié)
- 上一篇: Vue(二) 计算属性
- 下一篇: 腾讯地图和百度地图的PHP相互转换