PHP多態(tài)代碼實(shí)例
多態(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);沒有嚴(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ǔ)言。沒有對(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());
- php學(xué)習(xí)筆記 面向?qū)ο笾衃接口]與[多態(tài)性]的應(yīng)用
- PHP5多態(tài)性與動(dòng)態(tài)綁定介紹
- 理解和運(yùn)用PHP中的多態(tài)性[譯]
- PHP面向?qū)ο笕筇攸c(diǎn)學(xué)習(xí)(充分理解抽象、封裝、繼承、多態(tài))
- 實(shí)例講解PHP面向?qū)ο笾鄳B(tài)
- php面向?qū)ο笕ヂ?(十五) 多態(tài)的應(yīng)用
- PHP5中實(shí)現(xiàn)多態(tài)的兩種方法實(shí)例分享
- PHP面向?qū)ο缶幊讨钊肜斫夥椒ㄖ剌d與方法覆蓋(多態(tài))
- php 三大特點(diǎn):封裝,繼承,多態(tài)
- PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法簡(jiǎn)單示例
相關(guān)文章
laravel-admin的多級(jí)聯(lián)動(dòng)方法
今天小編就為大家分享一篇laravel-admin的多級(jí)聯(lián)動(dòng)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-09-09
利用phpexcel把excel導(dǎo)入數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)導(dǎo)出excel實(shí)現(xiàn)
本文介紹利用phpexcel對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入excel(excel篩選)、導(dǎo)出excel,大家參考使用吧2014-01-01

