首页 > 其他 > 详细

Scala AOP

时间:2016-07-24 00:31:53      阅读:249      评论:0      收藏:0      [点我收藏+]

trait Action { 

  def doAction
}
trait TBeforeAfter extends Action {
  abstract override def doAction {
    println("Initialization")
    super.doAction
    println("Destroyed")
  }
}

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

object UseTrait extends App{
  val work = new Work with TBeforeAfter
  work.doAction
}

输出:

Initialization
Working...
Destroyed

解释:

work.doAction会调用TBeforeAfter的doAction方法,所以会打印Initialization和Destroyed,中间的Working是super.doAction调用了父类Action的doAction方法,该方法是抽象方法,所以会寻找子类中的实现,找到了Work类中的doAction方法。

Scala AOP

原文:http://www.cnblogs.com/jiang-Xin/p/5699887.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!