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

前端之家收集整理的这篇文章主要介绍了php 多继承的几种常见实现方法示例前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

本文实例讲述了PHP 多继承的几种常见实现方法分享给大家供大家参考,具体如下:

  1. class Parent1 {
  2. function method1() {}
  3. function method2() {}
  4. }
  5. class Parent2 {
  6. function method3() {}
  7. function method4() {}
  8. }
  9. class Child {
  10. protected $_parents = array();
  11. public function Child(array $parents=array()) {
  12. $this->_parents = $parents;
  13. }
  14. public function __call($method,$args) {
  15. // 从“父类"中查找方法
  16. foreach ($this->_parents as $p) {
  17. if (is_callable(array($p,$method))) {
  18. return call_user_func_array(array($p,$method),$args);
  19. }
  20. }
  21. // 恢复默认的行为,会引发一个方法不存在的致命错误
  22. return call_user_func_array(array($this,$args);
  23. }
  24. }
  25. $obj = new Child(array(new Parent1(),new Parent2()));
  26. print_r( array($obj) );die;
  27. $obj->method1();
  28. $obj->method3();

运行结果:

Array
(
    [0] => Child Object
        (
            [_parents:protected] => Array
                (
                    [0] => Parent1 Object
                        (
                        )

[1] => Parent2 Object
                        (
                        )

)

)

)

  1. interface testA{
  2. function echostr();
  3. }
  4. interface testB extends testA{
  5. function dancing($name);
  6. }
  7. class testC implements testB{
  8. function echostr(){
  9. echo "接口继承,要实现所有相关抽象方法!";
  10. echo "<br>";
  11. }
  12. function dancing($name){
  13. echo $name."正在跳舞!";
  14. }
  15. }
  16. $demo=new testC();
  17. $demo->echostr();
  18. $demo->dancing("模特");

运行结果:

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

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

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

猜你在找的PHP相关文章