1. 特质入门
1.1 概述
有些时候, 我们会遇到一些特定的需求, 即: 在不影响当前继承体系的情况下, 对某些类(或者某些对象)的功能进行加强, 例如: 有猴子类和大象类, 它们都有姓名, 年龄, 以及吃的功能, 但是部分的猴子经过马戏团的训练后, 学会了骑独轮车. 那骑独轮车这个功能就不能定义到父类(动物类)或者猴子类中, 而是应该定义到 特质 中. 而Scala中的特质, 要用关键字 trait 修饰.
1.2 特点
- 特质可以提高代码的复用性 .
- 特质可以提高代码的扩展性和可维护性 .
- 类与特质之间是继承关系 , 只不过类与类之间只支持 单继承 , 但是类与特质之间, 既可以单继承 , 也可以多继承 .
- Scala 的特质中可以有普通字段, 抽象字段, 普通方法, 抽象方法.
注意:
- 如果特质中只有抽象内容, 这样的特质叫: 瘦接口.
- 如果特质中既有抽象内容, 又有具体内容, 这样的特质叫: 富接口.
1.3 语法
定义特质
trait 特质名称 {