未实现子 class 中的所有方法

Not implement all methods in sub class

假设我们有 private[feature] trait ImputerParams extends Params

然后我有 class Imputer extend ImputerParams.

我的问题是我需要实现 Params 中的所有方法吗?根据 Scala 的文档,我应该这样做。然而,当我阅读真正的生产代码时,我发现 Imputer 并没有实现 Params 中的所有方法,而且它运行良好。所以我很困惑。

如果我想了解更多,我应该阅读哪些主题?

扩展特征的class必须实现所有抽象函数定义,即没有主体定义的函数。

但是,Scala 中的特征可以包含具有完整实现的函数,因此不需要覆盖它们。

trait Foo {
  def bar(): Int
  def add(x: Int) = x + 1
}

在此示例中,扩展 Foo 的 class 将必须重写和实现 bar,而不是 add