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

 更新时间:2019年11月18日 09:46:08   作者:ztblog  
这篇文章主要介绍了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("模特");

运行结果:

接口继承,要实现所有相关抽象方法!
模特正在跳舞!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • php5.6不能扩展redis.so的解决方法

    php5.6不能扩展redis.so的解决方法

    这篇文章主要为大家介绍了php5.6不能扩展redis.so的解决方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • PHP实现单例模式建立数据库连接的方法分析

    PHP实现单例模式建立数据库连接的方法分析

    这篇文章主要介绍了PHP实现单例模式建立数据库连接的方法,结合实例形式分析了PHP单例模式的概念、原理及使用单例模式实现数据库连接的相关操作技巧,需要的朋友可以参考下
    2020-02-02
  • php类常量的使用详解

    php类常量的使用详解

    本篇文章是对php中类常量的使用进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP生成唯一的促销/优惠/折扣码(附源码)

    PHP生成唯一的促销/优惠/折扣码(附源码)

    每一个电子商务网站,现在有一种或多种类型的优惠/折扣/优惠券系统,给大家分享一下如何在PHP生成唯一的促销/折扣码;因此,今天将讨论这样一个优惠码的实现过程,需要了解的朋友可以参考下
    2012-12-12
  • PHP实现的常规正则验证helper公共类完整实例

    PHP实现的常规正则验证helper公共类完整实例

    这篇文章主要介绍了PHP实现的常规正则验证helper公共类,结合完整实例形式分析了php针对常规的电话、手机、邮箱、账号等进行正则验证的操作技巧,需要的朋友可以参考下
    2017-04-04
  • php实现根据身份证获取精准年龄

    php实现根据身份证获取精准年龄

    这篇文章主要为大家详细介绍了php实现根据身份证获取精准年龄,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-02-02
  • php实现分页功能的详细实例方法

    php实现分页功能的详细实例方法

    在本篇文章里小编给大家整理的是关于php实现分页功能的详细实例方法,有需要的朋友们可以学习下。
    2019-09-09
  • 如何在Ubuntu下启动Apache的Rewrite功能

    如何在Ubuntu下启动Apache的Rewrite功能

    本篇文章是对在Ubuntu下启动Apache的Rewrite功能的具体操作步骤进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总

    php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总

    这篇文章主要介绍了php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总,本文给出多种解决这个问题的方法,需要的朋友可以参考下
    2015-04-04
  • thinkphp操作mongo数据的三种方法

    thinkphp操作mongo数据的三种方法

    这篇文章主要给大家介绍了thinkphp操作mongo数据的三种方法,使用tp中的扩展,使用tp中的db类和使用MongoDB PHP驱动程序这三种方法,并通过代码讲解的非常详细,需要的朋友可以参考下
    2023-12-12

最新评论