Scala 重写特性内对象内的函数

Scala 重写特性内对象内的函数,scala,overriding,Scala,Overriding,假设我有这样的东西: trait A { object B { def doSomething = "test" } } class C extends A { def out = print(B.doSomething) } class D extends A { // override B.doSomething } 如何覆盖对象B内部的函数doSomething?这是一种重复,但有两个不同的问题: 首先。第二, 你没有正确回答这个问题。你似乎只是把问题改写

假设我有这样的东西:

trait A {
  object B {
    def doSomething = "test"
  }
}

class C extends A {
   def out = print(B.doSomething)
}

class D extends A {
   // override B.doSomething
}

如何覆盖
对象B
内部的函数
doSomething

这是一种重复,但有两个不同的问题:

首先。第二,


你没有正确回答这个问题。你似乎只是把问题改写成你想要的样子。问题假设您无法更改原始特征/对象/功能。你已经把这个假设抛到了窗外,回答了你自己的问题。
class A{
  class B{
    def foo = 1
  }
}

class C extends A{
  class B extends super.B{
    override def foo = 2
  }
}