常用trait和特殊類

2021-07-08 18:15:44 字數 363 閱讀 1022

scala中沒有列舉型別,如果要實線列舉型別可以讓乙個物件extends enumeration。

例如:object weekday extends enumeration

import weekday._

def isworkingday(d: weekday) = ! (d == sat || d == sun)

weekday.values filter isworkingday foreach println

輸出就是:mon, tue, wed, thu, fri

ordered[t]特質:

如果需要兩個類可以比較通過">","<"進行比較,就要實現這個特質。

trait類 型別萃取

這裡實現乙個通用的計算陣列類的資料求和函式。c 中用模板實現多型屬於靜態多型,trait類就是做為模板引數以實現靜態多型。根據不同的模板引數型別,以實現不同模板資料型別所需的功能。其實說白了,就是利用模板的一些基本規則,將其合理的組合起來,以達到根據型別不同時函式的操作有細微個性的差別。依據tdd開...

trait類相關筆記

下面介紹語法規則 做乙個最簡單的demo就是 trait helper class example3 exmaple3 new example3 exmaple3 show 簡單來說就是定義為trait的類,其他的類需要呼叫時,只需要乙個use就可以了,當然,如果有命名空間,還需要加上命名空間。但是...

PHP的類和物件 七 Trait

自 php 5.4.0 起,php 實現了一種 復用的方法,稱為 trait。因為php是單繼承,當你需要多個區別的特性,就不得不去組合多個基類,trait出現後就避免了這些問題,trait的優勢就是可以隨意組合,而且 清晰。trait不僅僅是可復用 段的集合,應該是一組描述了某個特性的 屬性與方法...