更新時間:2020-10-28 來源:黑馬程序員 瀏覽量:
Scala是Scalable Language的簡稱,它是一門多范式的編程語言,其設計初衷是實現(xiàn)可伸縮的語言、并集成面向對象編程和函數(shù)式編程的各種特性。
Scala于2001年由洛桑聯(lián)邦理工學院(EPFL)的編程方法實驗室研發(fā),它由Martin Odersky(馬丁·奧德斯基)創(chuàng)建。目前,許多公司依靠Java進行的關鍵性業(yè)務應用轉向或正在轉向Scala,以提高其開發(fā)效率、應用程序的可擴展性和整體的可靠性。借著這個目標與設計,Scala得以提供一些顯著的特性,具體如下。
Scala是面向對象的
Scala是一種純粹的面向對象語言,每一個值都是對象。對象的數(shù)據類型以及行為由類和特征來描述,類抽象機制的擴展通過兩種途徑實現(xiàn),一種是子類繼承,另一種是混入機制,這兩種途徑都能夠避免多重繼承的問題。
Scala是函數(shù)式編程的
Scala也是一種函數(shù)式語言,其函數(shù)可以作為值來使用。Scala提供了輕量級的語法用于定義匿名函數(shù),支持高階函數(shù),允許嵌套多層函數(shù),并支持柯里化。
Scala是靜態(tài)類型的
Scala具備類型系統(tǒng),通過編譯時檢查,保證代碼的安全性和一致性。類型系統(tǒng)支持的特性包括泛型類、注釋、類型上下限約束、類別和抽象類型作為對象成員、復合類型、引用自己時顯示指定類型、視圖、多態(tài)方法。
Scala是可擴展的
在實際開發(fā)中,某個特定領域的應用程序開發(fā)往往需要特定領域的語言擴展。Scala提供了許多獨特的語言機制,它以庫的方式能夠輕易無縫添加新的語言結構。
Scala是可以交互操作的
Scala旨在與流行的Java Runtime Environment(JRE)進行良好的交互操作。Scala用scalac編譯器把源文件編譯成Java的class文件(即在JVM上運行的字節(jié)碼)。我們可以從Scala中調用所有的Java類庫,也同樣可以從Java應用程序中調用Scala的代碼。
猜你喜歡: