如何使用 trait 在 Scala 中向 class 添加新方法?

How to use trait to add new method to class in Scala?

我有第 3 方 class A:

class A {
  def methodA = ...
}

我想使用 use trait 添加一个新方法 methodTA

的一个实例
trait Atrait[...] {
  def methodT = {
    // how to get a reference of instance of type A?
  }
}

这个methodT是针对某些情况的,所以我应该在trait中使用constraint。但我想不通。另外,如何在特征中调用 A 方法的实例?

更新

特质 不是这样的。请参阅替代解决方案的答案。

这是向第三方添加方法的标准模式class:

class A

implicit class ExtendedA(val a: A) extends AnyVal {
  def methodT: Unit = { println("called A.methodT") }
}

那么你可以这样做:

val a = new A
a.methodT