Scala深入浅出实战经典:15,Scala多重继承、多重继承构造器执行顺序及AOP实现

package com.wy.scala.oop

/**
 * @author Lewis
 */




//AOP
trait Action{
    def doAction
}

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

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


class Human{
    println("Human")
}
trait TTeacher extends Human{
    println("TTeacher")
    def teach
}
trait PianoPlayer extends Human{
    println("PianoPlayer")
    def playPiano = {println("I,m training students.")}
}
//多重继承
class PianoTeacher extends Human with TTeacher with PianoPlayer{
    override def teach = {println("I'm training students . ")}
}


object UseTrait extends App{
    //从左到右的执行顺序
    val work = new Work with TBeforeAfter
    work.doAction


}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

撸依天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值