【发布时间】:2012-11-27 10:21:31
【问题描述】:
以下代码:
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; }
use T { T::foo as baz; }
}
产生以下错误:
Trait 方法栏没有被应用,因为有冲突 与 C 上的其他特征方法
是否可以在一个类中使用 trait 两次?
【问题讨论】:
以下代码:
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; }
use T { T::foo as baz; }
}
产生以下错误:
Trait 方法栏没有被应用,因为有冲突 与 C 上的其他特征方法
是否可以在一个类中使用 trait 两次?
【问题讨论】:
要“导入”多次使用不同名称在特征中定义的方法,请执行以下操作:
class C {
use T {
foo as bar;
foo as baz;
}
}
【讨论】:
是的,你可以使用一个 trait 两次:
trait T {
function foo() {}
}
class C {
use T { T::foo as bar; T::foo as baz; }
}
【讨论】: