泛型類:在scala的類中定義引數型別
泛型類的應用場景:對類中的某些成員(field和method中的引數或變數)進行統一的型別限制,從而確保程式的健壯性和穩定性
class mycollection[t]
//刪除
def remove(el:t): unit =
override def tostring = s"mycollection($list)"
}object mycollection
}
泛型函式:類似於泛型類,在宣告函式時指定泛型型別,然後在函式體中,就可以使用這種泛型型別來宣告變數或作為函式的返回值型別,從而強制性對變數或返回值進行型別限制。
class school{}
class student(name:string) extends school{}
class teacher(name:string) extends school{}
class whh(name:string){}
object fundemo
def door[t](per:t): unit =else if(per.getclass == classof[teacher])else
}}
scala中的上邊界定義語法:t <: 父類
package cn.alibaba.scala.genericity
class shool
}class student(stuname:string) extends shool
class teacher(teaname:string) extends shool
class stranger(name: string){}
//定義泛型邊界 最大 為shool
class party[t <: shool](p1:t,p2:t)
object party
}
scala中的上邊界定義語法:t >: 子類
class grande***ther
class father extends grande***ther
class son extends father
class tongxue
object card
def main(args: array[string]): unit =
}
認真看下邊界這段**就會體會到泛型邊界的含義以及控制範圍! C 泛型約束,泛型函式
class 泛型 sortss new sort 例項化乙個排序類 ss.sortt pr 呼叫排序函式 foreach pression ppr in pr 測試泛型函式 int a 5 console.writeline a a int b 9 console.writeline b b n p...
scala的泛型類
泛型類 scala的類也可以定義泛型。接下來,我們來學習如何定義scala的泛型類 定義 語法格式 class 類 t val 變數名 t 定義乙個泛型類,直接在類名後面加上方括號,指定要使用的泛型引數 指定類對應的泛型引數後,就使用這些型別引數來定義變數了 示例 示例說明 實現乙個pair泛型類 ...
反射類呼叫做引數呼叫泛型函式
假設我們有以下的泛型方法 public t fun 如果t有很多,那通常的方法是使用swich進行判斷 var classname string var obj new object swich classname 解決方案 上面的寫法會導致大量的冗餘 我們想要如下的解決方案,通過傳入類的名字來動態...