时间: 2020-09-18|41次围观|0 条评论

trait Action{
  def doAction
}

trait TBeforeAfter extends Action{
  //doAction虽然实现了,但依旧是抽象方法。
  //方法内部我们调用了super.doAction,因此仍然是抽象的
  abstract override def doAction: Unit ={
    println("Init")
    super.doAction
    println("Destroyed")
  }
}

class Work extends Action{
  override def doAction: Unit = println("Working...")
}


object Demo {
  def main(args: Array[String]) {
    println("-----AOP----")
    val w = new Work with TBeforeAfter
    w.doAction

  }

}

运行结果:

-----AOP----
Init
Working...
Destroyed

原文链接:https://blog.csdn.net/scgaliguodong123_/article/details/51565047

本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Scala AOP编程
   

还没有人抢沙发呢~