7
下面的代码:如何在课堂上多次使用特质?
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; }
use T { T::foo as baz; }
}
产生以下错误:
Trait method bar has not been applied, because there are collisions with other trait methods on C
是否有可能在一个类中两次使用特质?
这就是它!谢谢。 – Benjamin
我可以看到问题来自哪里,但使用此解决方案,您只需具有2个功能完全相同的功能,并使用完全相同的内部工作。为什么你想要2个功能完全一样?如果“bar”函数使用与“baz”函数不同的类属性(因此bar和baz实际上是相同的,但是两次),那将很酷,但事实并非如此。 – Veda
我认为这主要是一个理论问题,因此非常简单的答案。 –