Scala 不是实现子类中的所有方法
假设我们有Scala 不是实现子类中的所有方法,scala,oop,inheritance,abstract-class,traits,Scala,Oop,Inheritance,Abstract Class,Traits,假设我们有private[feature]trait inputerparams扩展参数 然后我有类插补器扩展插补参数 我的问题是我是否需要实现Params中的所有方法?根据Scala的文档,我应该。然而,当我阅读实际的生产代码时,我发现Imputer并没有实现Params中的所有方法,而且它工作得很好。所以我很困惑 如果我想了解更多,我应该阅读哪些主题?扩展trait的类必须实现所有抽象函数定义,也就是说,没有主体定义的函数 然而,Scala中的特性可以包含具有完整实现的函数,因此不需要重写它
private[feature]trait inputerparams扩展参数
然后我有类插补器扩展插补参数
我的问题是我是否需要实现Params
中的所有方法?根据Scala的文档,我应该。然而,当我阅读实际的生产代码时,我发现Imputer
并没有实现Params
中的所有方法,而且它工作得很好。所以我很困惑
如果我想了解更多,我应该阅读哪些主题?扩展trait的类必须实现所有抽象函数定义,也就是说,没有主体定义的函数
然而,Scala中的特性可以包含具有完整实现的函数,因此不需要重写它们
trait Foo {
def bar(): Int
def add(x: Int) = x + 1
}
在本例中,扩展Foo
的类必须重写并实现bar
,而不是add
扩展trait的类必须实现所有抽象函数定义,即定义时没有主体的函数
然而,Scala中的特性可以包含具有完整实现的函数,因此不需要重写它们
trait Foo {
def bar(): Int
def add(x: Int) = x + 1
}
在本例中,扩展Foo
的类必须重写并实现bar
,而不是add