真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在php中實現(xiàn)多態(tài)

本篇文章給大家分享的是有關(guān)如何在php中實現(xiàn)多態(tài),小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

蘇仙網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),蘇仙網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為蘇仙數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的蘇仙做網(wǎng)站的公司定做!

多態(tài)性是指相同的操作或函數(shù)、過程可作用于多種類型的對象上并獲得不同的結(jié)果。不同的對象,收到同一消息將可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。

多態(tài)性允許每個對象以適合自身的方式去響應(yīng)共同的消息。多態(tài)性增強了軟件的靈活性和重用性。

在面向?qū)ο蟮能浖_發(fā)中,多態(tài)性是最為重要的部分之一。面向?qū)ο缶幊滩⒉恢皇菍⑾嚓P(guān)的方法與數(shù)據(jù)簡單的結(jié)合起來,而是采用面向?qū)ο缶幊讨械母鞣N要素將現(xiàn)實生活中的各種情況清晰的描述出來。這一小節(jié)將對面向?qū)ο缶幊讨械亩鄳B(tài)性作詳細的講解。

什么是多態(tài)

多 態(tài)(Polymorphism)按字面上意思理解就是“多種形狀”??梢岳斫鉃槎喾N表現(xiàn)形式,也即“一個對外接口,多個內(nèi)部實現(xiàn)方法”。在面向?qū)ο蟮睦碚?中,多態(tài)性的一般定義為:同一個操作作用于不同的類的實例,將產(chǎn)生不同的執(zhí)行結(jié)果。也即不同類的對象收到相同的消息時,將得到不同的結(jié)果。

在實際的應(yīng)用開發(fā)中,采用面向?qū)ο笾械亩鄳B(tài)主要在于可以將不同的子類對象都當作一個父類來處理,并且可以屏蔽不同子類對象之間所存在的差異,寫出通用的代碼,做出通用的編程,以適應(yīng)需求的不斷變化。

多態(tài)實現(xiàn)條件

多態(tài)的實現(xiàn)有三個條件:首先必須有繼承,即必須有父類(或基類)及其派生的子類。其次必須有父類的引用指向子類的對象,這是實現(xiàn)多態(tài)最重要的一個條件。最后必須有方法的重寫,即子類必須對父類的某些方法根據(jù)自己的需求進行重寫,方法名和參數(shù)都是相同的。

php實現(xiàn)多態(tài)的方法:

1、通過實現(xiàn)接口實現(xiàn)多態(tài)

下面的例子中,UserAdmin類的靜態(tài)方法,要求一個User類型的參數(shù)。

在后面的使用中,傳遞了一個實現(xiàn)了User接口的類NormalUser的實例。代碼成功運行。

name;
	}
	public function setName($_name){
		$this->name = $_name;
	}
}
class UserAdmin{ //操作.
	public static function  ChangeUserName(User $_user,$_userName){
		$_user->setName($_userName);
	}
}
$normalUser = new NormalUser();
UserAdmin::ChangeUserName($normalUser,"Tom");//這里傳入的是 NormalUser的實例.
echo $normalUser->getName();
?>

程序運行結(jié)果:

Tom

2、通過繼承關(guān)系實現(xiàn)多態(tài)

利用接口與組合,在一個類中將另外一個類設(shè)置成屬性來模擬多重繼承,通過繼承關(guān)系實現(xiàn)多態(tài)。

下面是類和子類的關(guān)系。

name;
	}
	public function setName($_name){
		$this->name = $_name;
	}
}
class UserAdmin{ //操作.
	public static function  ChangeUserName(User $_user,$_userName){
		$_user->setName($_userName);
	}
}
$normalUser = new NormalUser();
UserAdmin::ChangeUserName($normalUser,"Tom");//這里傳入的是 NormalUser的實例.
echo $normalUser->getName();
?>

程序運行結(jié)果:

Tom

以上就是如何在php中實現(xiàn)多態(tài),小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章題目:如何在php中實現(xiàn)多態(tài)
本文URL:http://weahome.cn/article/jsjoos.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部