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
我認爲這主要是一個理論問題,因此非常簡單的答案。 –