如何在trait方法调用之前添加方法?

时间:2014-07-06 12:55:06

标签: scala aop traits

我有一个特质

trait Trait {
  def method()
}

和一些实现

class A extends Trait {
  def method() = println("A")
}

class B extends Trait {
  def method() = println("B")
}

class C extends Trait {
  def method() = println("C")
}

我的目标是在特征(不是实现)中添加另一个方法(比如记录),它将在method之前调用。建议的方法是什么?

1 个答案:

答案 0 :(得分:2)

那样的东西?

trait Trait {   
  def innerMethod()   
  def logging()   
  def method = { 
    logging
    innerMethod
  }
}

class A extends Trait {
  def innerMethod() = println("A")
}

class B extends Trait {
  def innerMethod() = println("B")
}