本文实例讲述了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,$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程序设计有所帮助。