核心内容:
1、作为接口的trait代码实战
2、在对象中混入trait代码实战
1、作为接口的trait代码实战 |
1、scala中的trait(特质)功能很强大,Java中抽象类能做的事情,trait都可以做。Java中接口能做的事情,trait也可以做,它的长处在于可以多继承—即trait既可以当做接口来用,也可以当做抽象类来用.
2、在Java当中,接口(interface)就是抽象方法和数值型常量的集合,不能有普通方法,但是在scala当中,trait中可以有普通方法
3、在Java当中,接口只能被实现,不能被继承,但是在scala当中,特质trait可以被继承,如果是第一次使用trait,并且trait前面没有其它的类或者抽象类,就需要使用extends关键字,而后使用with关键字(注意:不是implements关键字)
class A extends B with C //其中B与C为特质
代码实现:何为特质trait
我们的例子中定义了一个抽象类Aminal表示所有的动物,然后定义了两个trait :Flyable和Swimable分别