本文实例讲述了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程序设计有所帮助。
最近碰到一个数据转来转去转到Textrea里面是否能真正按行存放的问题,在这里总结...
长达十年的甲骨文诉谷歌安卓系统 Java 源代码侵权案终于尘埃落定美国最高法院本...
虽然小程序中有大把的自定义 sticky 组件可用,原理无非是监听页面滚动改变 posi...
背景 本文为大家分享了asp.net core 如何集成CKEditor ,并实现图片上传功能的具...
本文实例讲述了Ajax异步方式实现登录与验证的详细代码,分享给大家供大家参考。...
申明:本教程 IntelliJ IDEA 破解补...
XML/HTML Code 复制内容到剪贴板 input id = username name = username type = t...
列夫·托尔斯泰说过「艺术是一种人类活动一个人通过某种外在符号有意识地把自己...
金毛狮王煞费苦心取屠龙刀 张无忌要让龙门镖局总镖头张大胆将一个精致的屠龙刀送...
前言 错误的出现并不总是编写程序的人的原因,有时应用程序会因为应用程序的最终...