有没有办法强制子类覆盖Scala中父类的所有方法?在Python中有@abstractmethod装饰器来做同样的事情,如果子类没有覆盖该方法,这将抛出异常。在寻找scala中是否有这样的功能..
答案 0 :(得分:1)
是。创建父类abstract
,并且不要实现任何希望强制派生类实现的方法。
abstract class Foo {
def foo(s: String): Int
}
如果子类未能实现foo
scala> class Bar extends Foo
<console>:12: error: class Bar needs to be abstract, since method foo in
class Foo of type (s: String)Int is not defined
class Bar extends Foo
^