加入收藏 | 设为首页 | 会员中心 | 我要投稿 济源站长网 (https://www.0391zz.cn/)- 数据工具、数据仓库、行业智能、CDN、运营!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php 多继承的几种常见实现方法案例

发布时间:2022-06-24 22:31:02 所属栏目:PHP教程 来源:互联网
导读:这篇文章主要介绍了php 多继承的几种常见实现方法,结合实例形式分析了两种PHP实现多继承的操作方法,需要的朋友可以参考下。 本文实例讲述了php 多继承的几种常见实现方法,分享给大家供大家参考,具体如下: class Parent1 { function method1() {} function
  这篇文章主要介绍了php 多继承的几种常见实现方法,结合实例形式分析了两种PHP实现多继承的操作方法,需要的朋友可以参考下。
 
  本文实例讲述了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();
  运行结果:
 
  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 "接口继承,要实现所有相关抽象方法!";
      echo "<br>";
    }
    function dancing($name){
      echo $name."正在跳舞!";
    }
  }
  $demo=new testC();
  $demo->echostr();
  $demo->dancing("模特");
  运行结果:
 
  接口继承,要实现所有相关抽象方法!
 
  模特正在跳舞!

(编辑:济源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读