斯卡拉:课后身体``

时间:2017-05-24 18:30:50

标签: scala traits mixins

通常以这种方式混合特性:

trait Parent {
  def f: Int = -1
}

class Child extends Parent {
  override val f: Int = 1
}

虽然,我偶然发现,如果我们只在课堂体内使用常数,我们可以实现同样的方式:

class ChildBodyBefore extends {
  override val f: Int = 1
} with Parent

似乎这些Child和ChildBodyBefore定义的工作方式相同:

new Child().f // 1
new ChildBodyBefore().f // 1

为什么第二种形式存在呢?是否存在使用extends { ... }语法的特定原因?

0 个答案:

没有答案