scala學習(十五) trait

2021-07-25 15:51:49 字數 727 閱讀 1607

下面是乙個trait的簡單例子,裡面包含的trait的基本用法,trait的繼承:

trait logger

def warn(msg:string)

}trait logger2

trait logger3

import scala.reflect._

class dog extends logger with logger2 with logger3

def run()

def setname(s:string)

}object main

}

下面是執行截圖:

這個也是:

trait logger

}trait logger2

trait logger3

//多個trait使用with進行連續繼承

//特質和類的區別是不能有主建構函式

class dog extends logger with logger2 with logger3

object main

}

下面是執行結果:

scala學習之特質 trait

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

Scala 系列 特質 Trait

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

scala的物件混入trait

物件混入trait scala中可以將trait混入到物件中,就是將trait中定義的方法 字段新增到乙個物件中 定義 語法val var 物件名 new 類 with 特質 copy 示例給乙個物件新增一些額外的行為 步驟 建立乙個logger特質 新增乙個log實現方法,列印引數 建立乙個use...