Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 真正的多类继承,而不是通过traits的方法集合_Php - Fatal编程技术网

Php 真正的多类继承,而不是通过traits的方法集合

Php 真正的多类继承,而不是通过traits的方法集合,php,Php,我理解你扩展类的方式,比如ChildClass扩展ParentClass,我理解类抽象和接口的用法,我也理解特性 在我读过的文章中,大多数人都指出,traits在实践中用于实现多重继承,而这不是由扩展功能实现的,因为它只支持单个扩展 据我所知,traits更多的是一个函数集合,可以由不同的类或其他traits使用 在这个问题中,我要求您告诉我,如果不添加一些函数集合,如何正确地扩展多个类。我可以非常清楚地了解这一点: PHP不允许这样做 我确实相信,在某些限制条件下,性状提供了一种实现多重遗传的

我理解你扩展类的方式,比如
ChildClass扩展ParentClass
,我理解类抽象和接口的用法,我也理解特性

在我读过的文章中,大多数人都指出,traits在实践中用于实现多重继承,而这不是由
扩展
功能实现的,因为它只支持单个扩展

据我所知,traits更多的是一个函数集合,可以由不同的类或其他traits使用


在这个问题中,我要求您告诉我,如果不添加一些函数集合,如何正确地扩展多个类。

我可以非常清楚地了解这一点:

PHP不允许这样做

我确实相信,在某些限制条件下,性状提供了一种实现多重遗传的方法。如果您的代码库非常纯OOP且设计良好,traits可能允许您实现多重继承


但这不是一个包罗万象的问题。如果这是您的绊脚石,不要将其归咎于PHP的设计,您可能需要考虑一种不同的方式来实现您想要的。(例如:委托而不是子类)。

我可以非常清楚地了解这一点:

PHP不允许这样做

我确实相信,在某些限制条件下,性状提供了一种实现多重遗传的方法。如果您的代码库非常纯OOP且设计良好,traits可能允许您实现多重继承


但这不是一个包罗万象的问题。如果这是您的绊脚石,不要将其归咎于PHP的设计,您可能需要考虑一种不同的方式来实现您想要的。(例如:委托而不是子类)。

谢谢,这的确是正确的。只是我现在没有工作,我想当我做的时候我会找到一些方法。我只需要确定
traits
确实是一个方法集合,它对您执行多个继承没有多大帮助。谢谢,这的确是正确的。只是我现在没有工作,我想当我做的时候我会找到一些方法。我只需要确保
traits
实际上是一组方法,它们对您进行多个继承没有多大帮助。