Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 不是实现子类中的所有方法_Scala_Oop_Inheritance_Abstract Class_Traits - Fatal编程技术网

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