PHP中多继承的几种实现方法有哪些?

2026-04-01 08:081阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计407个文字,预计阅读时间需要2分钟。

PHP中多继承的几种实现方法有哪些?

本示例讲述了PHP中多继承的几种常见实现方法。以下是一个具体实例:

phpclass Parent1 { function method1() {} function method2() {}}

PHP中多继承的几种实现方法有哪些?

class Parent2 { function method3() {} function method4() {}}

class C extends Parent1, Parent2 { // C类继承了Parent1和Parent2,因此包含了它们的全部方法}

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

本文共计407个文字,预计阅读时间需要2分钟。

PHP中多继承的几种实现方法有哪些?

本示例讲述了PHP中多继承的几种常见实现方法。以下是一个具体实例:

phpclass Parent1 { function method1() {} function method2() {}}

PHP中多继承的几种实现方法有哪些?

class Parent2 { function method3() {} function method4() {}}

class C extends Parent1, Parent2 { // C类继承了Parent1和Parent2,因此包含了它们的全部方法}

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