PHP面向?qū)ο蠖鄳B(tài)性實(shí)現(xiàn)方法簡(jiǎn)單示例
本文實(shí)例講述了PHP面向?qū)ο蠖鄳B(tài)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
多態(tài):父類引用指向子類對(duì)象(面向?qū)ο笾心軌蚋鶕?jù)使用類的上下文(使用輸入不同的類調(diào)用不同類的方法)來重新定義或改變類的性質(zhì)和行為。);接口引用指向?qū)崿F(xiàn)接口的類對(duì)象。
面向?qū)ο螅?/strong>把數(shù)據(jù)(屬性),操作數(shù)據(jù)的方法,邏輯,形成一個(gè)類,把類抽象出來形成對(duì)象,通過對(duì)象使用類;
<?php
class work{
function polymorphic($obj){
//檢查是否引用類型(obj是否繼承animal類)
if($obj instanceof animal){
$obj -> fun();
}
else{
echo "no function";
}
}
//如果需要指定類 (指定cat類,包含cat子類)
function bose(cat $obj){
$obj->fun();
}
}
//抽象類
abstract class animal{
abstract function fun();
}
//cat貓類
class cat extends animal{
function fun(){
echo "cat say miaomiao...";
}
}
//dog狗類
class dog extends animal{
function fun(){
echo "dog say wangwang...";
}
}
class mouse extends cat{
}
//先new一個(gè)work類
$new_work = new work();
//然后通過new_work對(duì)象 調(diào)用 polymorphic 方法,傳入不同的類實(shí)現(xiàn) 父類引用指向子類對(duì)象;接口引用指向?qū)崿F(xiàn)接口的類對(duì)象(多態(tài))。
$new_work->polymorphic(new cat());
echo '<br/>';
$new_work->polymorphic(new dog());
echo '<br/>';
//指定類方式仿java
$new_work->bose(new cat());
echo '<br/>';
//如果傳輸其他類,或者未繼承cat類則會(huì)報(bào)錯(cuò)
//$new_work->bose(new dog());
echo '<br />';
//這也不會(huì)報(bào)錯(cuò)
$new_work->bose(new mouse());
運(yùn)行結(jié)果:
cat say miaomiao... dog say wangwang... cat say miaomiao... cat say miaomiao...
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 理解和運(yùn)用PHP中的多態(tài)性[譯]
- PHP5多態(tài)性與動(dòng)態(tài)綁定介紹
- php學(xué)習(xí)筆記 面向?qū)ο笾衃接口]與[多態(tài)性]的應(yīng)用
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之接口用法
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之命名空間與自動(dòng)加載類詳解
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)類的定義與用法簡(jiǎn)單示例
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)OOP繼承用法入門示例
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之類與反射API詳解
- PHP面向?qū)ο蟪绦蛟O(shè)計(jì)之多態(tài)性的應(yīng)用示例
相關(guān)文章
基于pear auth實(shí)現(xiàn)登錄驗(yàn)證
基于pear auth實(shí)現(xiàn)登錄驗(yàn)證實(shí)現(xiàn)代碼2010-02-02
php str_pad() 將字符串填充成指定長(zhǎng)度的字符串
str_pad() 將字符串填充成指定長(zhǎng)度的字符串的用法。2010-02-02
幾個(gè)實(shí)用的PHP內(nèi)置函數(shù)使用指南
本文給大家推薦了7個(gè)不經(jīng)常被用到,但實(shí)際很實(shí)用,功能很強(qiáng)大的php內(nèi)置函數(shù),用好了,可以省去小伙伴們很多的時(shí)間的。2014-11-11
單臺(tái)服務(wù)器的PHP進(jìn)程之間實(shí)現(xiàn)共享內(nèi)存的方法
這篇文章主要介紹了單臺(tái)服務(wù)器的PHP進(jìn)程之間實(shí)現(xiàn)共享內(nèi)存的方法,需要的朋友可以參考下2014-06-06

