圖解倉頡編程:基礎篇

劉玥

  • 出版商: 人民郵電
  • 出版日期: 2024-07-01
  • 定價: $773
  • 售價: 8.5$657 (限時優惠至 2024-11-30)
  • 語言: 簡體中文
  • 頁數: 380
  • 裝訂: 平裝
  • ISBN: 7115600759
  • ISBN-13: 9787115600752
  • 立即出貨 (庫存 < 3)

  • 圖解倉頡編程:基礎篇-preview-1
  • 圖解倉頡編程:基礎篇-preview-2
圖解倉頡編程:基礎篇-preview-1

相關主題

商品描述

《圖解倉頡編程:基礎篇》以圖解的形式,通過豐富的示例和簡明的圖表,以通俗易懂的方式闡釋了倉頡編程語言的核心基礎 知識。

《圖解倉頡編程:基礎篇》共15章,包括倉頡編程語言概述、變量與基本數據類型、操作符、流程控制、函數、面向對象編程 (上)、面向對象編程(下)、enum 類型、模式匹配、函數高級特性、泛型、基礎 Collection 類型、包管理、擴 展、標準庫中包的應用。其中,“面向對象編程(上)”和“面向對象編程(下)”這兩章涉及一系列重要的概 念,包括類、對象、封裝、繼承、多態、重寫、抽象類和接口等,本書通過一個小型的電商項目貫穿這兩章,詳細闡明瞭這些概念。

《圖解倉頡編程:基礎篇》適合對倉頡編程語言感興趣的初學者閱讀。

作者簡介

刘玥,九丘教育 CEO,曾在高校任教十余年,具有丰富的课堂教学经验,尤其擅长讲授

程序设计、算法类课程。

 

张荣超,九丘教育教学总监、华为开发者专家(HDE)、华为首届 HarmonyOS 开发者创新大赛优秀导师、 OpenHarmony 项目群技术指导委员会(TSC)委员。

目錄大綱

第 1 章 倉頡編程語言概述 1

1.1 倉頡編程語言簡介 2

1.2 我的第 一個倉頡程序: Hello World 3

1.2.1 開發環境搭建 3

1.2.2 Hello World 3

1.3 倉頡程序結構 5

第 2 章 變量與基本數據類型 7

2.1 變量的概念 8

2.2 變量的聲明和使用 9

2.2.1 變量的聲明 9

2.2.2 變量的使用 12

2.3 基本數據類型 14

2.3.1 整數類型 14

2.3.2 浮點類型 15

2.3.3 布爾類型 18

2.3.4 字符類型 18

2.3.5 字符串類型 19

2.3.6 元組類型 24

2.3.7 區間類型 26

2.3.8 Unit 類型 27

2.3.9 Nothing 類型 28

2.4 小結 28

第 3 章 操作符 31

3.1 概述 32

3.2 算術操作符 32

3.2.1 運算規則 33

3.2.2 算術運算對類型的要求 35

3.2.3 類型推斷 36

3.2.4 數值類型的類型轉換 37

3.3 自增和自減操作符 38

3.4 關系操作符 39

3.4.1 運算規則 39

3.4.2 數值類型的關系運算 40

3.4.3 字符類型及字符串類型的關系運算 40

3.4.4 布爾類型及 Unit 類型的關系運算 41

3.5 邏輯操作符 42

3.6 位操作符 43

3.7 賦值操作符和復合賦值操作符 45

3.7.1 賦值操作符 45

3.7.2 復合賦值操作符 46

3.8 操作符的優先級和結合性 46

3.9 小結 47

第 4 章 流程控制 49

4.1 概述 50

4.2 順序結構 52

4.3 分支結構 53

4.3.1 單分支的 if 表達式 53

4.3.2 雙分支的 if 表達式 55

4.3.3 嵌套的 if 表達式 56

4.4 循環結構 61

4.4.1 while 表達式 62

4.4.2 do-while 表達式 65

4.4.3 for-in 表達式 68

4.4.4 break 表達式 72

4.4.5 continue 表達式 73

4.4.6 循環的嵌套 74

4.5 各種流程控製表達式的類型 76

4.5.1 if 表達式的類型 76

4.5.2 其他流程控製表達式的類型 78

4.6 小結 79

第 5 章 函數 81

5.1 函數的概念 82

5.2 函數的定義 82

5.2.1 函數定義的方式 82

5.2.2 函數參數 83

5.2.3 函數體 84

5.2.4 函數返回值 86

5.3 函數的調用和執行 87

5.3.1 函數調用的方式 87

5.3.2 參數傳遞 87

5.3.3 函數調用的執行過程 90

5.4 變量的作用域 92

5.4.1 全局變量的作用域 92

5.4.2 局部變量的作用域 93

5.4.3 同名變量 95

5.5 函數的重載 96

5.6 遞歸函數 97

5.7 小結 100

第 6 章 面向對象編程(上) 101

6.1 概述 102

6.2 類的定義和對象的創建 102

6.2.1 成員變量 105

6.2.2 成員函數 109

6.2.3 構造函數 110

6.2.4 成員訪問 114

6.2.5 類是引用類型 116

6.2.6 組織代碼 118

6.3 封裝 120

6.3.1 訪問控制 121

6.3.2 成員屬性 123

6.4 繼承 126

6.4.1 定義並繼承父類 127

6.4.2 重寫和重定義 135

6.5 多態 141

6.5.1 子類型天然是父類型 141

6.5.2 通過繼承實現多態 142

6.6 使用組合實現代碼復用 145

6.7 struct 類型 147

6.8 小結 151

第 7 章 面向對象編程(下) 153

7.1 抽象類 154

7.1.1 通過抽象函數和抽象類實現多態 155

7.1.2 抽象類及其成員 156

7.1.3 抽象類的繼承規則 159

7.2 接口 161

7.2.1 通過接口實現多態 161

7.2.2 定義和實現接口 164

7.2.3 接口的默認實現 168

7.2.4 接口的繼承 171

7.2.5 Any 類型 173

7.2.6 面向接口編程示例 174

7.3 子類型關系 178

7.4 小結 179

第 8 章 enum 類型 181

8.1 概述 182

8.2 enum 類型的定義 182

8.3 enum 值的創建 183

8.4 enum 值的模式匹配 184

8.5 Option 類型 186

8.5.1 Option 類型的定義 186

8.5.2 Option 值的創建 186

8.5.3 Option 值的解構 188

8.5.4 使用 as 操作符進行類型轉換 191

8.5.5 Option 類型使用示例 194

8.6 小結 198

第 9 章 模式匹配 201

9.1 概述 202

9.2 match 表達式 202

9.2.1 包含待匹配值的 match 表達式 202

9.2.2 不含待匹配值的 match 表達式 204

9.2.3 match 表達式的類型 206

9.3 模式 208

9.3.1 常量模式 208

9.3.2 通配符模式 209

9.3.3 綁定模式 209

9.3.4 類型模式 210

9.3.5 元組模式 211

9.3.6 枚舉模式 212

9.3.7 模式的 Refutability 214

9.4 模式的其他用法 216

9.4.1 在變量聲明中使用 irrefutable 模式 216

9.4.2 在 for-in 表達式中使用 irrefutable 模式 217

9.4.3 在 if-let 表達式中使用模式 218

9.4.4 在 while-let 表達式中使用模式 220

9.5 小結 221

第 10 章 函數高級特性 223

10.1 函數是“一等公民” 224

10.1.1 函數類型 224

10.1.2 函數作為變量值 225

10.1.3 函數作為實參 226

10.1.4 函數作為返回值 227

10.2 lambda 表達式 228

10.2.1 lambda 表達式的定義 228

10.2.2 lambda 表達式的使用 229

10.2.3 註意事項 231

10.3 嵌套函數 233

10.4 閉包 236

10.4.1 閉包的概念 236

10.4.2 閉包的工作原理和特點 238

10.4.3 使用限制和註意事項 241

10.5 函數重載決議 243

10.6 操作符重載函數 245

10.6.1 操作符重載的規則 245

10.6.2 操作符重載函數的定義和使用 246

10.7 mut 函數 248

10.7.1 struct 中的 mut 函數 249

10.7.2 interface 中的 mut 函數 250

10.7.3 mut 函數的使用限制 251

10.8 函數類型的子類型關系 252

10.9 調用函數時的語法糖 253

10.9.1 尾隨 lambda 254

10.9.2 flow 表達式 254

10.9.3 變長參數 256

10.10 小結 258

第 11 章 泛型 259

11.1 概述 260

11.2 泛型函數 261

11.3 泛型類型 263

11.3.1 泛型 class 263

11.3.2 泛型 struct 265

11.3.3 泛型 enum 266

11.3.4 泛型 interface 267

11.3.5 泛型類型的子類型關系 268

11.3.6 類型別名 269

11.4 泛型約束 270

11.5 泛型接口應用示例 273

11.5.1 泛型接口 Equatable 273

11.5.2 泛型接口 Comparable 275

11.6 小結 278

第 12 章 基礎 Collection 類型 279

12.1 概述 280

12.2 Array 280

12.2.1 Array 的創建 280

12.2.2 Array 元素的訪問 282

12.2.3 Array 元素的修改 286

12.2.4 Array 是引用類型 290

12.3 ArrayList 291

12.3.1 ArrayList 的創建 291

12.3.2 ArrayList 元素的訪問和修改 292

12.3.3 ArrayList 元素的添加和刪除 294

12.3.4 ArrayList 的容量管理 300

12.4 HashSet 303

12.4.1 HashSet 的創建 304

12.4.2 HashSet 元素的訪問 305

12.4.3 HashSet 元素的添加和刪除 307

12.5 HashMap 309

12.5.1 HashMap 的創建 310

12.5.2 HashMap 元素的訪問 311

12.5.3 HashMap 元素的修改和添加 314

12.5.4 HashMap 元素的刪除 316

12.6 接口 Iterable 和 Iterator 317

12.7 用於 Collection 操作的高階函數 321

12.8 小結 324

第 13 章 包管理 327

13.1 概述 328

13.2 包的聲明 329

13.3 頂層聲明的可見性 329

13.3.1 頂層聲明的默認可見性 329

13.3.2 頂層聲明的 public 可見性 330

13.4 頂層聲明的導入 333

13.4.1 使用 import 導入其他包中的 public 頂層聲明 333

13.4.2 使用 import as 重命名 338

13.4.3 使用 public import 對導入的頂層聲明重導出 339

13.5 小結 340

第 14 章 擴展 343

14.1 概述 344

14.2 直接擴展 344

14.3 接口擴展 347

14.4 擴展的導出和導入 351

14.4.1 直接擴展的導出和導入 351

14.4.2 接口擴展的導出和導入 353

14.5 小結 356

第 15 章 標準庫中包的應用 359

15.1 概述 360

15.2 生成隨機數據 360

15.2.1 生成各種類型的隨機數據 360

15.2.2 生成指定範圍內的隨機整數 361

15.2.3 復現隨機數據 362

15.2.4 生成隨機數組 362

15.3 通用的數學操作 364

15.4 格式化輸出 366

15.5 字符串操作 370

15.6 小結 380