C#面向對象程序設計教程(微課視頻版)
夏磊、仲寶才、張翀
買這商品的人也買了...
-
$660$521
相關主題
商品描述
目錄大綱
入 門 篇
第1章 .NET基礎 3
1.1 .NET 3
1.2 .NET Framework 3
1.3 .NET Core 4
1.4 使用.NET Framework或.NET Core編寫應用程序 5
1.4.1 CIL和JIT 5
1.4.2 程序集 6
1.5 C#語言介紹 6
1.5.1 C#語言的發展歷史 6
1.5.2 C#語言的特點 6
1.5.3 C#語言的應用領域 7
1.6 小結 8
1.7 練習 8
第2章 C#初識 9
2.1 編寫第一個C#程序 9
2.2 C#程序結構概述 10
2.2.1 命名空間 11
2.2.2 類 11
2.2.3 Main()方法 12
2.2.4 C#語句和註釋 12
2.2.5 關鍵字與標識符 13
2.3 小結 14
2.4 練習 14
編程基礎篇
第3章 變量、常量及運算符 17
3.1 變量是什麽 17
3.2 變量的聲明及初始化 17
3.2.1 聲明變量 17
3.2.2 變量的初始化 18
3.3 數據類型 19
3.3.1 值類型 19
3.3.2 引用類型 27
3.4 變量的作用域 28
3.4.1 成員變量 28
3.4.2 局部變量 28
3.5 數據類型轉換 29
3.5.1 隱式類型轉換 29
3.5.2 顯式類型轉換 30
3.6 常量 31
3.6.1 const常量 31
3.6.2 readonly常量 32
3.6.3 靜態常量和動態常量的對比 32
3.7 運算符 33
3.7.1 算術運算符 33
3.7.2 自增自減運算符 34
3.7.3 賦值運算符 35
3.7.4 關系運算符 36
3.7.5 邏輯運算符 37
3.7.6 位運算符 39
3.7.7 條件運算符 42
3.8 運算符優先級與結合性 43
3.9 案例1:整錢兌零 44
3.10 小結 45
3.11 練習 45
第4章 流程控制語句 47
4.1 流程控制概述 47
4.2 順序結構 48
4.3 選擇結構 48
4.3.1 if語句 48
4.3.2 分支語句的嵌套 51
4.3.3 switch語句 52
4.3.4 案例2:彩票 54
4.4 循環結構 55
4.4.1 while循環 56
4.4.2 do…while循環 56
4.4.3 for循環 57
4.4.4 for循環的變體討論 58
4.4.5 循環的嵌套 60
4.4.6 案例3:減法表達式自動生成器 60
4.5 跳轉語句 61
4.5.1 break語句 61
4.5.2 continue語句 62
4.5.3 break與continue的區別 62
4.6 案例4:顯示素數 63
4.7 小結 64
4.8 練習 64
第5章 數組與字符串 67
5.1 數組概述 67
5.2 一維數組 68
5.2.1 一維數組初始化 69
5.2.2 一維數組的使用 70
5.2.3 案例5:生成一副撲克牌 70
5.3 二維數組 71
5.3.1 二維數組的創建 71
5.3.2 二維數組的初始化 71
5.3.3 二維數組的使用 72
5.3.4 案例6:數獨游戲判定 72
5.4 不規則數組(交錯數組) 73
5.5 C#中的Array類及數組的遍歷操作 75
5.5.1 Array類 75
5.5.2 數組的遍歷操作 76
5.6 字符串 76
5.6.1 字符串的聲明 77
5.6.2 字符串的初始化 77
5.6.3 字符串的常用操作 78
5.7 StringBuilder類 87
5.7.1 設置StringBuilder對象的容量 88
5.7.2 修改StringBuilder字符串 88
5.8 String和StringBuilder的區別 89
5.9 小結 90
5.10 練習 90
第6章 函數 93
6.1 函數概述 93
6.2 定義和使用函數 93
6.3 返回值 95
6.4 參數 96
6.4.1 值參數 97
6.4.2 ref參數 97
6.4.3 out參數 97
6.4.4 params參數 97
6.4.5 可選參數 98
6.4.6 命名參數 98
6.5 函數重載和遞歸 98
6.5.1 函數重載 98
6.5.2 函數的遞歸 98
6.6 常用函數 101
6.6.1 數學函數 101
6.6.2 日期時間函數 101
6.7 案例7:生成隨機驗證碼 104
6.8 小結 105
6.9 練習 105
面向對象基礎篇
第7章 面向對象思想編程基礎 109
7.1 面向對象思想概述 109
7.2 對象和類概述 110
7.2.1 對象 110
7.2.2 類 110
7.2.3 類與對象的關系 110
7.2.4 字段、屬性和方法 111
7.2.5 對象的生命周期 111
7.3 定義類 112
7.4 定義類成員 112
7.4.1 靜態成員 113
7.4.2 實例成員 113
7.4.3 類成員的訪問權限 113
7.4.4 定義字段 114
7.4.5 定義方法 114
7.4.6 定義屬性 115
7.4.7 定義索引器 117
7.5 對象的創建、使用及銷毀 118
7.5.1 構造函數 119
7.5.2 析構函數 121
7.5.3 對象的創建和初始化 122
7.5.4 訪問對象的屬性和方法 124
7.5.5 對象的銷毀 124
7.6 this關鍵字 124
7.7 案例8:以面向對象的思想生成撲克牌 125
7.8 小結 129
7.9 練習 129
第8章 繼承、多態、委托與事件 131
8.1 繼承 131
8.1.1 繼承的實現 132
8.1.2 繼承中的對象構造與析構 132
8.1.3 System.Object類 133
8.1.4 裝箱與拆箱 134
8.1.5 派生類訪問基類成員 135
8.2 密封方法和密封類 137
8.3 多態 137
8.3.1 方法重寫 138
8.3.2 抽象方法和抽象類 139
8.3.3 接口 140
8.3.4 案例9:模擬銀行存取系統案例 141
8.3.5 接口的顯式實現 144
8.3.6 ICloneable接口、淺拷貝和深拷貝 144
8.3.7 實現類、抽象類與接口的繼承問題 146
8.4 委托 147
8.4.1 委托的定義 147
8.4.2 委托的實例化 148
8.4.3 引用匿名方法的委托 148
8.4.4 多播委托 149
8.4.5 委托中的協變與逆變 150
8.4.6 .NET Framework中預定義的委托 150
8.5 事件 152
8.6 小結 154
8.7 練習 154
第9章 異常 155
9.1 異常概述 155
9.2 try…catch…finally 155
9.3 異常處理的流程 156
9.4 C#中的異常類 156
9.5 自定義異常類 157
9.6 小結 157
9.7 練習 157
面向對象進階篇
第10章 泛型 161
10.1 概述 161
10.2 泛型的概念 162
10.3 泛型類 162
10.3.1 泛型類的聲明與使用 162
10.3.2 可空類型 163
10.3.3 Null合並運算符 164
10.3.4 Null檢查運算符 165
10.4 *泛型方法 165
10.5 *泛型接口 166
10.6 *泛型委托 167
10.7 *泛型約束 167
10.8 *泛型與繼承 168
10.9 案例10:泛型矩陣 169
10.10 小結 174
10.11 練習 174
第11章 集合 175
11.1 集合概述 175
11.2 常見的集合類型 177
11.2.1 非泛型集合ArrayList 177
11.2.2 自定義強類型集合 179
11.2.3 泛型集合List<T> 179
11.2.4 泛型集合HashSet<T> 181
11.2.5 鍵值對集合哈希表 182
11.2.6 泛型鍵值對集合Dictionary<TKey, TValue> 184
11.2.7 案例11:單詞出現次數統計 184
11.3 *迭代器 186
11.4 *比較 188
11.4.1 值比較 188
11.4.2 運算符重載 189
11.4.3 類型比較 190
11.4.4 IComparable和IComparer接口 192
11.5 類型轉換 193
11.5.1 重載轉換運算符 193
11.5.2 as運算符 194
11.6 小結 194
11.7 練習 195
第12章 *高級C#技術 196
12.1 類型推理 196
12.2 動態查找 197
12.3 Tuple和ValueTuple 198
12.3.1 Tuple 198
12.3.2 ValueTuple 200
12.4 擴展方法 202
12.5 僅限init的資源庫 203
12.6 記錄類型record 204
12.7 小結 205
12.8 練習 205
數據操作篇
第13章 LINQ技術 209
13.1 LINQ概述 209
13.2 匿名類型 210
13.3 查詢表達式語法和查詢方法語法 211
13.3.1 查詢表達式語法 211
13.3.2 查詢方法語法 217
13.4 延遲執行 230
13.5 案例12:商品信息分頁展示 231
13.6 小結 235
13.7 練習 235
第14章 文件、流和序列化 237
14.1 文件 237
14.1.1 文件概述 237
14.1.2 System.IO命名空間 237
14.2 路徑 238
14.2.1 Path類 238
14.2.2 絕對路徑和相對路徑 239
14.2.3 System.Environment類 239
14.3 DriveInfo類 240
14.4 文件和目錄相關類 241
14.4.1 File類和Directory類 241
14.4.2 FileInfo類和DirectoryInfo類 247
14.5 流及流的操作 248
14.5.1 Stream基類 248
14.5.2 流的讀取器與寫入器 250
14.5.3 FileStream 255
14.5.4 MemoryStream 259
14.5.5 BufferedStream 260
14.6 *序列化與反序列化 261
14.6.1 序列化與反序列化概述 261
14.6.2 3種序列化技術及序列化規則 262
14.7 案例13:網絡爬蟲 264
14.8 小結 266
14.9 練習 266
第15章 數據訪問技術 267
15.1 數據庫概述 267
15.2 結構化查詢語言 267
15.3 ADO.NET概述 268
15.4 Connection對象 270
15.4.1 Connection對象概述 270
15.4.2 連接字符串 271
15.5 Command對象 272
15.5.1 創建Command對象 273
15.5.2 執行數據庫操作 273
15.6 DataReader對象 276
15.6.1 DataReader對象概述 276
15.6.2 使用DataReader對象讀取查詢結果 277
15.7 ADO.NET的數據訪問模型 278
15.7.1 連接模式 278
15.7.2 斷開連接模式 278
15.7.3 DataSet對象 279
15.7.4 DataAdapter對象 280
15.8 事務處理 283
15.9 案例14:商品銷售統計 284
15.10 小結 289
15.11 練習 289
表現層技術篇
第16章 桌面編程WPF技術 293
16.1 WPF程序開發入門 293
16.1.1 WPF概述 293
16.1.2 XAML基礎 294
16.1.3 依賴屬性和附加屬性 299
16.1.4 XAML中的事件 300
16.1.5 WPF程序的生命周期 301
16.2 佈局和控件 304
16.2.1 控件模型 304
16.2.2 佈局控件 307
16.2.3 通用界面控件 312
16.2.4 綜合示例——基本控件的用法 317
16.2.5 用戶控件 319
16.3 資源和樣式 321
16.3.1 畫刷 321
16.3.2 圖形 323
16.3.3 資源 326
16.3.4 樣式 329
16.3.5 動畫 331
16.3.6 三維圖形 331
16.4 數據綁定 332
16.4.1 認識數據綁定 332
16.4.2 創建數據綁定 334
16.4.3 數據轉換 336
16.4.4 利用DataContext來作為共享數據源 337
16.4.5 數據模板——DataTemplate 337
16.5 命令 338
16.5.1 命令模型 338
16.5.2 自定義命令 340
16.6 案例15:天氣預報 341
16.7 小結 344
16.8 練習 345
綜合案例篇
第17章 綜合案例——超市收銀系統 349
17.1 需求分析 349
17.2 總體設計 349
17.2.1 系統目標 349
17.2.2 構建開發環境 349
17.2.3 系統功能結構 350
17.2.4 主要業務流程圖 350
17.3 數據庫設計 352
17.3.1 概念結構設計 352
17.3.2 數據庫表結構 353
17.4 項目開發架構 356
17.4.1 三層架構 356
17.4.2 MVVM框架 357
17.5 類設計 358
17.5.1 業務實體類設計 358
17.5.2 數據訪問層類設計 360
17.5.3 業務邏輯層類設計 363
17.5.4 表示層View類設計 363
17.5.5 表示層ViewModel類設計 364
17.6 系統主要模塊開發與實現 365
17.6.1 登錄模塊 365
17.6.2 導航模塊 368
17.6.3 收銀模塊 369
17.6.4 貨品管理模塊 377
17.6.5 銷售統計模塊 380
17.6.6 打折管理模塊 384
17.6.7 人員管理模塊 388
17.7 小結 391
參考文獻 392
VI
VII