一个Scala类可以继承多个特质
(trait), 特质可能会要求使用它们的类支持某个特定特性, 与Java接口不同, Scala特质可以给出这些特质的缺省实现.
要点如下:
Scala中类只能继承一个超类, 可以扩展任意数量的特质
特质可以要求实现它们的类具备特定的字段, 方法和超类
与Java接口不同, Scala特质可以提供方法和字段的实现
当将多个特质叠加使用的时候, 顺序很重要 ---- 排在后面的特质方法先被执行
1. Scala类没有多继承
把毫不相关的类组装在一起, 多继承没有关系, 不过向下面这个简单例子问题就浮出水面了;
class Student { val id: Int = 10 }class Teacher { val id: Int = 10 }
假设可以有:
class TeacherAssistant extends Student, Teacher { ... }
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26
