大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章给大家介绍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 "
"; } function dancing($name){ echo $name."正在跳舞!"; } } $demo=new testC(); $demo->echostr(); $demo->dancing("模特");
运行结果:
接口继承,要实现所有相关抽象方法!
模特正在跳舞!
关于php中实现多继承的方式有哪些就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。