一个类扩展自一个或多个特质,以便使用这些特质提供的服务。特质可能会要求使用它的类支持某个特定的特性。不过和java不同,Scala特质可以给出这些特性的缺省实现。
特质的特性:
类可以实现任意数量的特质;
特质可以要求实现它们的类具备特定的字段、方法或超类;
和Java接口不同,Scala特质可以提供方法和字段的实现;
当你将多个特质叠加在一起时,顺序很重要——其方法先被执行的特质排在最后面。
Scala和java一样,不支持多重继承:
为什么没有多重继承?
一个类扩展自一个或多个特质,以便使用这些特质提供的服务。特质可能会要求使用它的类支持某个特定的特性。不过和java不同,Scala特质可以给出这些特性的缺省实现。
特质的特性:
类可以实现任意数量的特质;
特质可以要求实现它们的类具备特定的字段、方法或超类;
和Java接口不同,Scala特质可以提供方法和字段的实现;
当你将多个特质叠加在一起时,顺序很重要——其方法先被执行的特质排在最后面。
Scala和java一样,不支持多重继承:
为什么没有多重继承?