Scala中使用implict 擴充套件現有類的方法

2022-02-24 12:44:49 字數 738 閱讀 8574

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法(ms對擴充套件方法的介紹:擴充套件方法使你能夠向現有型別「新增」方法,而無需建立新的派生型別、重新編譯或以其他方式修改原始型別。)

scala中有兩種方式做到方法的擴充套件,以擴充套件string為列:

第一種(code:10-12,29):建立乙個以implict修飾的新類並以string型別入參。在新的型別(**中是mystring)中新增要擴充套件的方法(read2)

第二種(code:3-5,9,28): 建立乙個以implict修飾的方法並以string型別入參,方法中建立乙個物件(**中是richstring),該物件中包含要擴充套件的方法(read)

implict另一種用法是定義乙個隱含的方法引數:code27行只傳入乙個引數,方法的另乙個引數則取之code 8行。這種用發的前提是方法的引數必須有用implict修飾(code 17),才可以使用使用前面定義的隱含引數(code 8)

**和執行結果如下:

Scala中使用implict 擴充套件現有類的方法

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法 ms對擴充套件方法的介紹 擴充套件方法使你能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。scala中有兩種方式做到方法的擴充套件,以擴充套件string為列 第一...

Scala通過implict給現有類新增方法

scala中implict的一種用法就是擴充套件現有類的方法,有點類似於.net中的擴充套件方法 ms對擴充套件方法的介紹 擴充套件方法使你能夠向現有型別 新增 方法,而無需建立新的派生型別 重新編譯或以其他方式修改原始型別。scala中有兩種方式做到方法的擴充套件,以擴充套件string為例 第一...

IDEA中使用Scala的安裝入門

scala正如其名,一門可擴充套件的語言,它就是乙個含有精美工具的工具箱,裡面有靜態型別,oop,fp,巨集等工具。我想這是馬丁設計的初衷,也是他寫的書上所說的,scala不是在單純的混合物件導向和函式式,它是一門可被無限擴充套件的語言,每次新增新特性都是在豐富工具箱,所以有人說scala太複雜了,...