php多继承吗,php 多继承的几种方法

这篇文章探讨了PHP中的多继承实现,通过创建一个类并利用`__call`魔术方法从多个父类中调用方法。同时,文章也展示了接口继承的使用,包括如何实现接口以及接口中的抽象方法。示例中定义了Parent1, Parent2类和Child类,以及testA, testB接口,最后创建并实例化了testC类,展示了接口继承的强制实现抽象方法。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了关于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 "
";

}

function dancing($name){

echo $name."正在跳舞!";

}

}

$demo=new testC();

$demo->echostr();

$demo->dancing("模特");

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值