Scala 的泛型類

Scala 中的泛型類指的也是一個有類型參數的類函數

class Singular[A](element: A) extends Traversable[A] {
	def foreach[B](f: A=> B) = f(element)
}

object scala {
	def main(args: Array[String]) = { 
		val p = new Singular("Planes")
		p.foreach(println)
		//p foreach println // 等價寫法
	}
}

類名後跟的 [A] 就是類型參數,在 new 生成實例的時候,Singular 類會根據參數 "Planes" 自動推導出 A 的類型,即 String。scala

foreach 是一個函數泛型,它接受一個函數參數 f,f 的參數爲 A,函數體爲 B,當咱們傳入 println 時,自動推導出 B 的類型,即 println 的類型。code

相關文章
相關標籤/搜索