首頁  >  文章  >  後端開發  >  php 多繼承的幾種方法

php 多繼承的幾種方法

不言
不言原創
2018-05-03 11:38:583054瀏覽

這篇文章主要介紹了幾種關於php 多繼承的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

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) {
        // 从“父类"中查找方法
        foreach ($this->_parents as $p) {
            if (is_callable(array($p, $method))) {
                return call_user_func_array(array($p, $method), $args);
            }
        }
        // 恢复默认的行为,会引发一个方法不存在的致命错误
        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();
interface testA{   
    function echostr();   
}    
interface testB extends testA{   
    function dancing($name);   
}    
class testC implements testB{   
  
    function echostr(){   
        echo "接口继承,要实现所有相关抽象方法!";   
        echo "<br>";   
    }    
  
    function dancing($name){   
        echo $name."正在跳舞!";    
    }    
}    
$demo=new testC();   
$demo->echostr();   
$demo->dancing("模特");

相關推薦:

php多重繼承理解


以上是php 多繼承的幾種方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn