Scala基礎 7 特質(Trait)

2021-10-02 20:04:32 字數 383 閱讀 8307

特質定義使用關鍵字trait

trait carid
上面定義了乙個trait,裡面包含乙個抽象欄位id和抽象方法currentid。注意,抽象方法不需要使用abstract關鍵字,特質中沒有方法體的方法,預設就是抽象方法。

trait定義好之後,就可以使用extends或with關鍵字將trait混入類中進行使用,比如:

class bydcarid extends carid

}class bmwcarid extends carid

}

class bydcarid extends carid with cargreeting{}

Scala 系列 特質 Trait

本文主要對scala中特質的概念與使用進行介紹 特質是scala裡面 復用的基礎單元。與 python 不同,python 子類可以繼承自多個父類,而 scala 不允許乙個類從從個超類繼承,只能繼承唯一的超類。但是 scala 允許乙個類混入任意數量的特質,混入就是指類使用了特質提供的方法。那麼特...

scala學習之特質 trait

特質,很像j a中的介面,但是又有些不同,比如實現方法,當然j a8也可以在介面中實現乙個方法了,但是只能定義乙個default方法。當做介面使用 特質 trait logger trait consolelogger extends logger 不需要寫 overrride 在重寫 特質的抽象方...

scala學習(十五) trait

下面是乙個trait的簡單例子,裡面包含的trait的基本用法,trait的繼承 trait logger def warn msg string trait logger2 trait logger3 import scala.reflect.class dog extends logger wi...