1
在Scala中是有可能在基类声明泛型抽象函数,然后 提供各种派生类不同的具体实施方式是这样的:部分定义
abstract class B {
def foo[T,V](u:T):V
}
class D extends B {
def foo(u:T_0) = {...}
def foo(u:T_1) = {...}
....
}
,同样也指类D1 ,D2,...从类B(具有可能不同的具体类型T_j) 到类D_j以便使用obj.foo(u)和编译器标志,只要foo用于某个类型的参数,而foo不是定义。
总之,问题是:是否从B派生的类被视为混凝土,只要foo被定义为 至少有一个具体类型T?
确定。谢谢。这很不幸。 – 2014-10-28 13:23:01
为什么不幸?以这种方式使用类型系统的整个想法是能够对方法调用的有效性进行严格的编译时检查。取决于你想要完成什么,可能有其他更精细的方法。有各种各样的方法可以将'foo'中的类型关联起来。我想你可能不得不问一个新的,更具体的问题来获得帮助。 – acjay 2014-10-28 15:25:52