装饰器 object main { def main(args: Array[String]) { val act1 = new RealAction with TBeforeAfter act1.doAction } } trait TAction { def doAction } trait TBeforeAfter extends TAction { abstract override def doAction { println("---begin----") //doAction的前置处理 super.doAction // 调用原来的处理 println("----end----") //doAction的后置处理 } } class RealAction extends TAction { def doAction = { println("** real action done!! **") } } 结果 ---begin---- ** real action done!! ** ----end---- 样例类 偏函数 逆变报错问题 react 科利华和隐世参数隐式函数 定界和延续