以下代码:
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; }
use T { T::foo as baz; }
}
产生以下错误:
尚未应用特征方法栏,因为存在碰撞 与C
上的其他特征方法
是否可以在课堂上使用两次特质?
答案 0 :(得分:6)
要使用不同的名称多次“导入”特征中定义的方法,请执行以下操作:
class C {
use T {
foo as bar;
foo as baz;
}
}
答案 1 :(得分:0)
是的,您可以使用两次特征:
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; T::foo as baz; }
}