Scala多重继承、多重继承构造器执行顺序及AOP实现
内容:
1、多重继承的trait代码实战
2、多重继承构造器执行顺序
3、给予trait的AOP代码实现
该代码中PianoPlayer类继承了Human,在构造的时候按照从左到右的顺序进行构造,TTeacher和PianoPlayer是PianoTeacher的特性,然后覆写了TTeacher的抽象方法teach。
改代码中t2后面构造了一个匿名的内部类,有TTeacher和PianoPlayer的特征(多重继承和继承顺序)。
在上述代码中TBeforeAfter继承了Action,所以要覆写doAction方法,因为以上代码中使用super.doAction调用父类的方法,即doAction没有具体实现,因此在覆写的时候要加上abstract和override关键字。
AOP实现中包括了前置方法,具体实现,后工作完成后的资源清理和回收等动作。