我对Scala很新,但我试图实现以下情况。假设我有一个特点:你能在Scala中动态调用一个对象方法吗?
trait SomeTrait {
def kakaw
}
和两个斯卡拉对象扩展它:
object SampleA extends SomeTrait {
def kakaw = "Woof"
}
object SampleB extends SomeTrait {
def kakaw = "Meow"
}
我想要做的就是调用基于参数的函数调用这两个对象的功能之一。例如(我知道这是正确的,从最远的东西):
class SomeOther {
def saySomething[T] = T.kakaw
}
所以我可以这样做:
val s = new SomeOther
s.saySomething[SampleA]
在斯卡拉这是在所有可能的?
什么是错的`高清saySomething(T:SomeTrait)= t.kakaw`然后`s.saySomething(SampleA)`?也就是说,为什么要打扰类型参数呢? – 2011-02-18 00:28:51