一個(gè)Scala類可以繼承多個(gè)特質(zhì)
(trait), 特質(zhì)可能會(huì)要求使用它們的類支持某個(gè)特定特性, 與Java接口不同, Scala特質(zhì)可以給出這些特質(zhì)的缺省實(shí)現(xiàn).
要點(diǎn)如下:
Scala中類只能繼承一個(gè)超類, 可以擴(kuò)展任意數(shù)量的特質(zhì)
特質(zhì)可以要求實(shí)現(xiàn)它們的類具備特定的字段, 方法和超類
與Java接口不同, Scala特質(zhì)可以提供方法和字段的實(shí)現(xiàn)
當(dāng)將多個(gè)特質(zhì)疊加使用的時(shí)候, 順序很重要 ---- 排在后面的特質(zhì)方法先被執(zhí)行
1. Scala類沒有多繼承
把毫不相關(guān)的類組裝在一起, 多繼承沒有關(guān)系, 不過向下面這個(gè)簡(jiǎn)單例子問題就浮出水面了;
class Student { val id: Int = 10 }class Teacher { val id: Int = 10 }
假設(shè)可以有:
class TeacherAssistant extends Student, Teacher { ... }
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26