php 多繼承的幾種常見(jiàn)實(shí)現(xiàn)方法示例
本文實(shí)例講述了php 多繼承的幾種常見(jiàn)實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
class Parent1 { function method1() {} function method2() {} } class Parent2 { function method3() {} function method4() {} } class Child { protected $_parents = array(); public function Child(array $parents=array()) { $this->_parents = $parents; } public function __call($method, $args) { // 從“父類(lèi)"中查找方法 foreach ($this->_parents as $p) { if (is_callable(array($p, $method))) { return call_user_func_array(array($p, $method), $args); } } // 恢復(fù)默認(rèn)的行為,會(huì)引發(fā)一個(gè)方法不存在的致命錯(cuò)誤 return call_user_func_array(array($this, $method), $args); } } $obj = new Child(array(new Parent1(), new Parent2())); print_r( array($obj) );die; $obj->method1(); $obj->method3();
運(yùn)行結(jié)果:
Array
(
[0] => Child Object
(
[_parents:protected] => Array
(
[0] => Parent1 Object
(
)[1] => Parent2 Object
(
))
)
)
interface testA{ function echostr(); } interface testB extends testA{ function dancing($name); } class testC implements testB{ function echostr(){ echo "接口繼承,要實(shí)現(xiàn)所有相關(guān)抽象方法!"; echo "<br>"; } function dancing($name){ echo $name."正在跳舞!"; } } $demo=new testC(); $demo->echostr(); $demo->dancing("模特");
運(yùn)行結(jié)果:
接口繼承,要實(shí)現(xiàn)所有相關(guān)抽象方法!
模特正在跳舞!
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php中ftp_chdir與ftp_cdup函數(shù)用法
這篇文章主要介紹了php中ftp_chdir與ftp_cdup函數(shù)用法,以實(shí)例形式講述了PHP中的FTP目錄操作技巧,具有一定的借鑒價(jià)值,需要的朋友可以參考下2014-11-11PHP實(shí)現(xiàn)多圖片上傳類(lèi)實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)多圖片上傳類(lèi)實(shí)例,該類(lèi)文件注釋詳細(xì)功能實(shí)用且具有一定的擴(kuò)展性,需要的朋友可以參考下2014-07-07php對(duì)稱(chēng)加密和解密的實(shí)現(xiàn)詳解
加密是為了信息傳遞更加安全,這樣才能更好的讓信息傳遞更具有保密性,不會(huì)被他人隨意篡改,本文為大家介紹了php實(shí)現(xiàn)簡(jiǎn)單的對(duì)稱(chēng)加密和解密過(guò)程,希望對(duì)大家有所幫助2023-11-11php出現(xiàn)Cannot modify header information問(wèn)題的解決方法大全
我做了一個(gè)統(tǒng)一的出錯(cuò)提示函數(shù),在函數(shù)執(zhí)行里面,先處理出錯(cuò)的地址寫(xiě)入cookie以方便用戶登陸以后可以直接跳轉(zhuǎn)到要執(zhí)行的這個(gè)頁(yè)面,可是發(fā)現(xiàn)在服務(wù)器上測(cè)試時(shí),竟然提示本地沒(méi)有出現(xiàn)的錯(cuò)誤: Warning: Cannot modify header information - headers already sent by....2008-04-04PHP中shuffle數(shù)組值隨便排序函數(shù)用法
這篇文章主要介紹了PHP中shuffle數(shù)組值隨便排序函數(shù)用法,可以比較簡(jiǎn)單的實(shí)現(xiàn)對(duì)數(shù)組的隨機(jī)排序,需要的朋友可以參考下2014-11-11PHP與MySQL開(kāi)發(fā)的8個(gè)技巧小結(jié)
LAMP 架構(gòu)的網(wǎng)站,我以前注重的多是安裝/配置方面的,講述開(kāi)發(fā)的相對(duì)較少,因?yàn)樽约簭氖麻_(kāi)發(fā)也少??戳艘院?,頗有啟發(fā),以前開(kāi)發(fā)中遇到的一些問(wèn)題,迎刃而解。所以翻譯出來(lái)和大家共享。2010-12-12淺析Dos下運(yùn)行php.exe,出現(xiàn)沒(méi)有找到php_mbstring.dll 錯(cuò)誤的解決方法
本篇文章是對(duì)在Dos下運(yùn)行php.exe,出現(xiàn)沒(méi)有找到php_mbstring.dll 錯(cuò)誤的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06淺談并發(fā)處理PHP進(jìn)程間通信之外部介質(zhì)
進(jìn)程間通信(IPC,Inter-Process Communication),多進(jìn)程開(kāi)發(fā)中,進(jìn)程間通信是一個(gè)永遠(yuǎn)也繞不開(kāi)的問(wèn)題。在 web開(kāi)發(fā)中,我們經(jīng)常遇到的并發(fā)請(qǐng)求問(wèn)題,本質(zhì)上也可以作為進(jìn)程間通信來(lái)處理。2021-05-05