快學 Scala, 2/e (Scala for the impatient, 2/e)
內容描述
Scala是一門主要以Java虛擬機(JVM)為目標運行環境並將面向對象和函數式編程語言的特性結合在一起的編程語言。你可以使用Scala編寫出更加精簡的程序,同時充分利用並發的威力。由於Scala默認運行於JVM之上,因此它可以訪問任何Java類庫並且與Java框架進行互操作。通過ScalaJS項目,Scala還可以被編譯成JavaScript代碼,讓我們更便捷高效地開發Web應用。本書從實用角度出發,給出了一份快速的、基於代碼的入門指南。Horstmann以“博客文章大小”的篇幅介紹了Scala的概念,讓你可以快速地掌握和應用。實際上手的操作,清晰定義的能力層次,從初級到專家級,全程指導。適合有一定的Java編程經驗、對Scala感興趣,並希望盡快掌握Scala核心概念和用法的開發者閱讀。
目錄大綱
譯者序V
第1版序XVII
前言XIX
作者簡介XXIII
第1章基礎A11
1.1 Scala解釋器1
1.2聲明值和變量4
1.3常用類型5
1.4算術和操作符重載7
1.5關於方法調用8
1.6 apply方法9
1.7 Scaladoc11
練習16
第2章控制結構和函數A119
2.1條件表達式20
2.2語句終止22
2.3塊表達式和賦值22
2.4輸入和輸出23
2.5循環25
2.6高級for循環27
2.7函數28
2.8默認參數和帶名參數L129
2.9變長參數L129
2.10過程31
2.11懶值L131
2.12異常32
練習35
第3章數組相關操作A139
3.1定長數組39
3.2變長數組:數組緩衝40
3.3遍歷數組和數組緩衝41
3.4數組轉換42
3.5常用算法44
3.6解讀Scaladoc45
3.7多維數組47
3.8與Java的互操作48
練習49
第4章映射和元組A153
4.1構造映射53
4.2獲取映射中的值54
4.3更新映射中的值55
4.4迭代映射56
4.5已排序映射57
4.6與Java的互操作57
4.7元組58
4.8拉鍊操作59
練習60
第5章類A163
5.1簡單類和無參方法63
5.2帶getter和 setter的屬性64
5.3只帶getter的屬性67
5.4對象私有字段68
5.5 Bean屬性L169
5.6輔助構造器71
5.7主構造器72
5.8嵌套類L175
練習78
第6章對象A181
6.1單例對象81
6.2伴生對象82
6.3擴展類或特質的對象83
6.4 apply方法84
6.5應用程序對象85
6.6枚舉86
練習87
第7章包和引入A191
7.1包91
7.2作用域規則93
7.3串聯式包語句95
7.4文件頂部標記法95
7.5包對象96
7.6包可見性97
7.7引入97
7.8任何地方都可以聲明引入98
7.9重命名和隱藏方法99
7.10隱式引入99
練習100
第8章繼承A1103
8.1擴展類103
8.2重寫方法104
8.3類型檢查和轉換105
8.4受保護字段和方法106
8.5超類的構造106
8.6重寫字段107
8.7匿名子類109
8.8抽像類109
8.9抽象字段110
8.10構造順序和提前定義L3110
8.11 Scala類繼承關係112
8.12對象相等性L1114
8.13值類L2116
練習117
第9章文件和正則表達式A1121
9.1讀取行121
9.2讀取字符122
9.3讀取詞法單元和 字123
9.4從URL或其他源讀取124
9.5讀取二進製文件124
9.6寫入文本文件124
9.7訪問目錄125
9.8序列化125
9.9進程控制A2126
9.10正則表達式129
9.11正則表達式組130
練習131
第10章特質A1135
10.1為什麼沒有多重繼承135
10.2當作接口使用的特質137
10.3帶有具體實現的特質138
10.4帶有特質的對象139
10.5疊加在一起的特質140
10.6在特質中重寫抽象方法141
10.7當作富接口使用的特質142
10.8特質中的具體字段143
10.9特質中的抽象字段144
10.10特質構造順序145
10.11初始化特質中的字段147
10.12擴展類的特質148
10.13自身類型L2149
10.14背後發生了什麼151
練習152
……
第11章操作符A1157
第12章高階函數L1175
第13章集合A2191
第14章模式匹配和样例類A2221
第15章註解A2243
第16章XML處理A2259
第17章FutureA2277
第18章類型參數L2297
第19章高級類型L2313
第20章解析A3341
第21章隱式轉換和隱式參數L3.363
詞彙表381
作者介紹
Cay S. Horstmann是《Java核心技術》卷1和卷2第10版(Prentice Hall出版社2016年出版)的作者,此外,他還著有其他十多本面向專業程序員和計算機科學專業學生的書籍。他是San Jose州立大學計算機科學專業的教授,同時也是一位Java Champion。