是否可以使用函数对象/值提供方法的实现?我想写一些精神:
abstract class A { def f(x:Int) : Int }
class B extends A { f = identity }
答案 0 :(得分:7)
您可以使用类似函数的字段:
abstract class A { val f: (Int) => Int}
val identity = (x: Int) => x*x
class B extends A { override val f = identity }
答案 1 :(得分:3)
abstract class A { val f: (Int) => Int }
class B extends A { val f: (Int) => Int = identity _ }
答案 2 :(得分:1)