21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)C#技術(shù)與應(yīng)用開發(fā)/涂承勝 版權(quán)信息
- ISBN:9787302510857
- 條形碼:9787302510857 ; 978-7-302-51085-7
- 裝幀:一般膠版紙
- 冊(cè)數(shù):暫無
- 重量:暫無
- 所屬分類:>
21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)C#技術(shù)與應(yīng)用開發(fā)/涂承勝 本書特色
《C#技術(shù)與應(yīng)用開發(fā)》書中實(shí)例及其相關(guān)技術(shù)具有較強(qiáng)的代表性、實(shí)用性、指導(dǎo)性。案例概念清晰、編碼規(guī)范、解析詳細(xì)。
基礎(chǔ)理論部分適合C#的初學(xué)者。應(yīng)用開發(fā)部分結(jié)合“選課與成績(jī)管理系統(tǒng)”詳細(xì)介紹了基于C#的三層C/S模式的系統(tǒng)設(shè)計(jì)與開發(fā)方法及數(shù)據(jù)庫編程技術(shù)。
21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)C#技術(shù)與應(yīng)用開發(fā)/涂承勝 內(nèi)容簡(jiǎn)介
全書共分為兩篇:基礎(chǔ)理論篇和應(yīng)用開發(fā)篇。基礎(chǔ)理論篇比較全面地介紹了C#面向?qū)ο蟪绦蛟O(shè)計(jì)語言的基礎(chǔ)理論,內(nèi)容包括.NET框架與Visual Studio 2012開發(fā)工具概述、C#語法基礎(chǔ)知識(shí)、C#面向?qū)ο缶幊袒A(chǔ)、文件處理系統(tǒng)、.NET Framework框架與常用類庫、基于ADO.NET的數(shù)據(jù)庫編程和Windows窗體應(yīng)用程序開發(fā)。
基礎(chǔ)理論部分不僅適用于C#的初學(xué)者,更適用于有一定C#語言基礎(chǔ)的讀者,使之能夠更好地掌握和熟練的應(yīng)用C#的基礎(chǔ)理論,進(jìn)行系統(tǒng)設(shè)計(jì)與應(yīng)用開發(fā)更得心應(yīng)手。
應(yīng)用開發(fā)篇結(jié)合“選課與成績(jī)管理系統(tǒng)”,詳細(xì)介紹了基于C#的三層C/S模式的系統(tǒng)設(shè)計(jì)與開發(fā)方法及數(shù)據(jù)庫編程技術(shù),內(nèi)容包括三層體系結(jié)構(gòu)及其基于C#的實(shí)現(xiàn)、數(shù)據(jù)庫設(shè)計(jì)方法與步驟、基于三層C/S模式的選課及成績(jī)管理系統(tǒng)和選課與成績(jī)管理系統(tǒng)幾個(gè)典型模塊的設(shè)計(jì)及其在C#中的實(shí)現(xiàn)。
書中實(shí)例及其相關(guān)技術(shù)具有較強(qiáng)的代表性、實(shí)用性、指導(dǎo)性。案例概念清晰,編碼規(guī)范,解析詳細(xì)。
本書主要面向C#工程應(yīng)用與項(xiàng)目開發(fā)人員,可以作為基于C#的項(xiàng)目開發(fā)的培訓(xùn)教材,也可供C#程序設(shè)計(jì)語言自學(xué)人員參考,還可以作為高等院校C#語言程序設(shè)計(jì)課程的參考書。本書的基礎(chǔ)篇也可以作為C#語言程序設(shè)計(jì)課程的教材內(nèi)容。
21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)C#技術(shù)與應(yīng)用開發(fā)/涂承勝 目錄
基礎(chǔ)理論篇
第1章 Microsoft.NET與C#簡(jiǎn)介 2
1.1 Visual Studio.NET與.NET Framework簡(jiǎn)介 2
1.1.1 Visual Studio.NET概述 2
1.1.2 .NET Framework概述 3
1.2 C#簡(jiǎn)介 4
1.2.1 C#的定義 4
1.2.2 C#與框架類庫中重要的命名空間 4
1.2.3 C#程序的基本結(jié)構(gòu) 5
1.3 Visual Studio 2012集成開發(fā)環(huán)境 7
1.3.1 Visual Studio 2012的運(yùn)行環(huán)境與安裝 7
1.3.2 Visual Studio 2012的啟動(dòng)與環(huán)境設(shè)置 9
1.3.3 項(xiàng)目、文件模板 10
1.3.4 Visual Studio 2012 IDE概述 11
1.3.5 工具欄與工具箱 12
1.3.6 修改字體與顏色 13
1.4 用C#創(chuàng)建.NET應(yīng)用程序 14
1.4.1 控制臺(tái)應(yīng)用程序的創(chuàng)建、編譯、運(yùn)行 14
1.4.2 Windows窗體應(yīng)用程序的創(chuàng)建、編譯、測(cè)試、運(yùn)行 16
1.4.3 ASP.NET應(yīng)用程序概述 21
第2章 C#語法基礎(chǔ)知識(shí) 23
2.1 C#的數(shù)據(jù)類型 23
2.1.1 值類型 23
2.1.2 引用類型 25
2.2 關(guān)鍵字與標(biāo)識(shí)符 28
2.2.1 關(guān)鍵字 28
2.2.2 標(biāo)識(shí)符的分類與命名規(guī)則 43
2.3 常量、變量 44
2.3.1 常量 44
2.3.2 變量及其定義與初始化 45
2.3.3 變量的類型、作用域與生存周期 46
2.4 各種運(yùn)算符及其表達(dá)式 49
2.4.1 C#語言運(yùn)算符的幾個(gè)要素及分類 49
2.4.2 括號(hào)運(yùn)算符([]、())和成員運(yùn)算符(.)與域成員運(yùn)算符(::) 50
2.4.3 算術(shù)運(yùn)算符與算術(shù)表達(dá)式 51
2.4.4 關(guān)系運(yùn)算符與關(guān)系表達(dá)式 52
2.4.5 邏輯運(yùn)算符與邏輯表達(dá)式、邏輯運(yùn)算的特殊規(guī)則 53
2.4.6 賦值運(yùn)算符與賦值表達(dá)式 58
2.4.7 條件運(yùn)算符與條件運(yùn)算表達(dá)式 60
2.4.8 自增量(++)、自減量運(yùn)算(??)、負(fù)號(hào)運(yùn)算符(?)及其表達(dá)式 61
2.4.9 逗號(hào)運(yùn)算符、求字節(jié)運(yùn)算符、指針運(yùn)算符、其他運(yùn)算符 63
2.4.10 位邏輯運(yùn)算與位移運(yùn)算符及其表達(dá)式 64
2.4.11 運(yùn)算符的優(yōu)先級(jí) 66
2.5 數(shù)據(jù)類型轉(zhuǎn)化 68
2.5.1 數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)化及其轉(zhuǎn)化規(guī)則 68
2.5.2 顯式類型轉(zhuǎn)化 70
2.5.3 數(shù)值型與string類型之間的轉(zhuǎn)化 73
2.5.4 使用Convert類的方法進(jìn)行各種類型之間的強(qiáng)制轉(zhuǎn)化 76
2.5.5 字符串與字符數(shù)組之間的轉(zhuǎn)化 77
2.6 流程控制語句 78
2.6.1 C#語句分類 78
2.6.2 if語句 81
2.6.3 switch語句 83
2.6.4 循環(huán)結(jié)構(gòu)概述與循環(huán)實(shí)現(xiàn)的原理 86
2.6.5 while循環(huán)語句 86
2.6.6 do…while循環(huán)語句 87
2.6.7 for循環(huán)語句 87
2.6.8 foreach循環(huán)語句 88
2.6.9 循環(huán)的嵌套及幾種循環(huán)的相互轉(zhuǎn)化 89
2.6.10 break語句、continue語句和return語句 90
2.6.11 using語句及其使用 93
2.7 集合與數(shù)據(jù)處理 96
2.7.1 數(shù)組 96
2.7.2 ArrayList 101
2.7.3 泛型 104
2.8 C#語言中的異常及其處理 106
2.8.1 C#語言的異常處理概述 107
2.8.2 使用try…catch…finally處理異常 107
第3章 C#面向?qū)ο缶幊?114
3.1 類與對(duì)象 114
3.1.1 類的結(jié)構(gòu)與定義 114
3.1.2 對(duì)象的定義 115
3.2 類的成員 116
3.2.1 數(shù)據(jù)成員與函數(shù)成員 116
3.2.2 靜態(tài)成員與實(shí)例成員 118
3.2.3 屬性 119
3.2.4 構(gòu)造函數(shù)與析構(gòu)函數(shù) 121
3.3 類的方法與函數(shù) 123
3.3.1 方法和函數(shù)的定義、調(diào)用 123
3.3.2 靜態(tài)方法和實(shí)例方法 124
3.3.3 方法的參數(shù)與傳遞機(jī)制 126
3.3.4 方法的返回值 131
3.3.5 方法重載 131
3.3.6 C#的Main函數(shù) 132
3.3.7 C#消息對(duì)話框類MessageBox及方法show 132
3.4 this指針 134
3.5 類的繼承性與多態(tài)性 136
3.5.1 類的繼承性 136
3.5.2 類的多態(tài)性 142
3.6 接口 145
第4章 .NET Framework常用類庫 148
4.1 文件系統(tǒng)與I/O流 148
4.1.1 軟件系統(tǒng)環(huán)境與System.Environment類 148
4.1.2 System.IO命名空間常用的類 151
4.1.3 Directory類和DirectoryInfo類與文件夾操作 152
4.1.4 File類和FileInfo類與文件操作 155
4.1.5 文本文件的基本操作 160
4.1.6 二進(jìn)制文件的基本操作 166
4.1.7 通過內(nèi)存流讀寫顯示圖片文件 169
4.2 System.Console類 171
4.2.1 Console類與基本輸入輸出 171
4.2.2 Console類與格式化控制臺(tái)輸出 172
4.2.3 Console類與數(shù)值數(shù)據(jù)的格式化輸出 172
4.3 字符串、日期時(shí)間、數(shù)值處理類 173
4.3.1 字符串處理 173
4.3.2 日期時(shí)間處理 177
4.3.3 數(shù)值處理與隨機(jī)數(shù) 178
4.4 正則表達(dá)式 179
4.4.1 正則表達(dá)式類 180
4.4.2 正則表達(dá)式基本語法(規(guī)則)與實(shí)例 181
4.4.3 常用的表達(dá)式屬性設(shè)置 189
第5章 Windows窗體應(yīng)用程序與控件 191
5.1 Windows應(yīng)用程序 191
5.1.1 Windows應(yīng)用程序的創(chuàng)建 191
5.1.2 窗體程序文件Form1.cs 192
5.1.3 程序入口文件Program.cs 193
5.1.4 窗體及控件與屬性設(shè)計(jì)文件Form1.Designer.cs 194
5.1.5 C#中的Form類 195
5.1.6 Form類的常用屬性 195
5.1.7 Form類的常用事件和方法 197
5.1.8 為窗體添加控件并布局 198
5.1.9 添加控件事件處理程序 200
5.2 多窗體與多文檔應(yīng)用程序設(shè)計(jì) 202
5.2.1 多窗體程序設(shè)計(jì) 202
5.2.2 MDI應(yīng)用程序設(shè)計(jì) 202
5.3 常用Windows窗體控件 204
5.3.1 Label、LinkLabel控件 204
5.3.2 TextBox控件 206
5.3.3 RichTextBox控件 209
5.3.4 按鈕控件(Button/RadioButton) 211
5.3.5 容器控件(Group/Panel) 212
5.3.6 多頁容器控件TabControl 213
5.3.7 NumericUpDown控件 216
5.3.8 CheckBox控件 218
5.3.9 ListBox控件 219
5.3.10 CheckedListBox控件 224
5.3.11 ComboBox控件 227
5.3.12 PictureBox控件的使用 234
5.3.13 ImageList控件 235
5.3.14 Timer控件 236
5.3.15 ProgressBar控件和TrackBar控件 237
5.4 消息顯示對(duì)話框和通用對(duì)話框控件 239
5.4.1 消息對(duì)話框 239
5.4.2 OpenFileDialog控件 243
5.4.3 SaveFileDialog控件 245
5.4.4 FontDialog控件 247
5.4.5 ColorDialog控件 249
5.4.6 PrintDocument打印控件 250
5.4.7 PageSetupDialog控件 251
5.4.8 PrintPreviewDialog控件 252
5.4.9 PrintDialog打印控件 252
5.4.10 通用控件實(shí)例解析 253
5.5 其他控件(MenuStrip/ToolsStrip) 262
5.5.1 菜單(MenuStrip)控件 262
5.5.2 工具欄(ToolStrip)控件和狀態(tài)欄(StatusStrip)控件 267
5.6 常用事件處理 270
5.6.1 鍵盤事件 270
5.6.2 鼠標(biāo)事件處理 270
5.7 控件的布局與基本操作 271
5.7.1 調(diào)整控件對(duì)象的位置和大小 271
5.7.2 控件對(duì)象的對(duì)齊 272
5.7.3 控件對(duì)象的間距調(diào)整 272
第6章 ADO.NET與數(shù)據(jù)庫編程 273
6.1 ADO.NET簡(jiǎn)介 273
6.1.1 ADO.NET體系結(jié)構(gòu) 273
6.1.2 ADO.NET對(duì)象模型 274
6.2 ADO.NET數(shù)據(jù)提供程序與命名空間 275
6.2.1 ADO.NET數(shù)據(jù)提供程序概述 275
6.2.2 C#程序中使用命名空間 276
6.2.3 ADO.NET訪問數(shù)據(jù)庫的過程 278
6.3 Connection類(對(duì)象)與數(shù)據(jù)庫連接 278
6.3.1 Connection對(duì)象的常用屬性與方法 278
6.3.2 Connection對(duì)象的連接字符串 279
6.3.3 Connection對(duì)象的常用方法 281
6.4 Command(命令)對(duì)象與查詢及其實(shí)現(xiàn) 283
6.4.1 Command對(duì)象常用屬性 283
6.4.2 Command對(duì)象常用方法 284
6.4.3 SQL命令的參數(shù)化和格式化 290
6.4.4 SqlCommand對(duì)象與命令的參數(shù)傳遞 292
6.4.5 操作其他數(shù)據(jù)源所需名稱空間 299
6.5 DataReader對(duì)象與數(shù)據(jù)獲取 300
6.5.1 DataReader對(duì)象及其常用屬性 300
6.5.2 DataReader類的常用屬性和方法 300
6.5.3 DataReader對(duì)象訪問數(shù)據(jù)庫實(shí)例 304
6.6 DataAdapter類(對(duì)象)與數(shù)據(jù)庫操作 306
6.6.1 DataAdapter對(duì)象的常用屬性 306
6.6.2 DataAdapter對(duì)象的常用方法 307
6.6.3 SqlDataAdapter獲取數(shù)據(jù)庫記錄應(yīng)用實(shí)例 309
6.7 DataSet與DataTable類與數(shù)據(jù)庫操作 310
6.7.1 DataSet對(duì)象概述 311
6.7.2 DataSet對(duì)象模型 312
6.7.3 DataTable類 313
6.7.4 DataColumn和DataRow類與對(duì)象 315
6.7.5 DataSet類、DataTable類、DataColumn類、DataRow
類綜合應(yīng)用實(shí)例 317
6.8 數(shù)據(jù)顯示控件(DataGridView) 321
6.8.1 DataGridView控件簡(jiǎn)介 321
6.8.2 DataGridView控件常用屬性 322
6.8.3 DataGridView控件的常用方法 323
6.8.4 DataGridView控件的常用事件 324
6.8.5 DataGridView控件常用屬性、方法、事件的常規(guī)操作 325
6.8.6 DataAdapter、DataSet類與DataGridView控件更新數(shù)據(jù)庫應(yīng)用實(shí)例 336
應(yīng)用開發(fā)篇
第7章 三層C/S模式的選課與成績(jī)管理系統(tǒng) 352
7.1 選課與成績(jī)管理系統(tǒng)簡(jiǎn)介 352
7.1.1 系統(tǒng)描述 352
7.1.2 開發(fā)工具與平臺(tái) 352
7.2 需求分析 352
7.2.1 信息需求 352
7.2.2 數(shù)據(jù)處理需求 353
7.2.3 系統(tǒng)安全性和完整性需求 353
7.3 數(shù)據(jù)庫設(shè)計(jì) 353
7.3.1 概念設(shè)計(jì) 353
7.3.2 邏輯設(shè)計(jì) 353
7.3.3 物理設(shè)計(jì)和視圖機(jī)制 354
7.3.4 完整性規(guī)則及其實(shí)現(xiàn) 355
7.4 三層C/S模式及成績(jī)管理系統(tǒng)的架構(gòu) 356
7.4.1 三層架構(gòu)體系結(jié)構(gòu)簡(jiǎn)介 356
7.4.2 C#中建立三層結(jié)構(gòu)框架 357
7.4.3 在業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層添加非可視化類 361
7.4.4 C#中建立三層模式各層之間的引用關(guān)系 362
7.4.5 三層C/S模式的選課與簡(jiǎn)單成績(jī)管理系統(tǒng)體系構(gòu)架 364
7.4.6 三層模式系統(tǒng)入口與啟動(dòng)項(xiàng)目設(shè)置 365
7.5 Server數(shù)據(jù)庫遠(yuǎn)程連接的實(shí)現(xiàn)與配置文件App.config的讀取 367
7.5.1 SQL Server 2008數(shù)據(jù)庫的遠(yuǎn)程連接設(shè)置 367
7.5.2 配置文件App.config的建立與讀取 375
7.6 三層C/S模式中業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層類的封裝 379
7.6.1 業(yè)務(wù)邏輯層(BLL)相關(guān)的操作類 379
7.6.2 數(shù)據(jù)訪問層(DAL)數(shù)據(jù)庫操作通用類的實(shí)現(xiàn) 383
第8章 登錄模塊設(shè)計(jì)與實(shí)現(xiàn) 391
8.1 登錄模塊界面設(shè)計(jì) 391
8.1.1 添加窗體到表示層UI 391
8.1.2 窗體控件設(shè)計(jì)與布局及其屬性設(shè)置 392
8.2 模塊功能描述 393
8.2.1 設(shè)置系統(tǒng)用戶類型 393
8.2.2 輸入用戶名稱和密碼 393
8.2.3 實(shí)現(xiàn)用戶驗(yàn)證性登錄 393
8.2.4 關(guān)閉窗體 394
8.3 編碼與功能實(shí)現(xiàn) 394
8.3.1 窗體類的框架與類的成員(變量與函數(shù)) 394
8.3.2 窗體的加載(Load)事件及其編碼 395
8.3.3 文本輸入框的相關(guān)事件及其編碼 395
8.3.4 命令按鈕(Button)控件的相關(guān)事件及其編碼 397
8.3.5 單選按鈕(RadioButton)控件的有關(guān)事件及其編碼 398
8.3.6 FormLogon類的相關(guān)自定義函數(shù) 399
8.4 BLL層的相關(guān)的類及其成員函數(shù)和成員變量的引用 399
第9章 主窗體與菜單對(duì)象 400
9.1 主窗體界面設(shè)計(jì) 400
9.1.1 添加MDI型窗體到表示層UI 400
9.1.2 控件設(shè)計(jì)與布局及其屬性設(shè)置 400
9.2 窗體上菜單、工具欄、狀態(tài)欄的建立與布局及其功能描述 401
9.2.1 菜單對(duì)象及主菜單的建立 401
9.2.2 主菜單之下拉菜單項(xiàng)的建立及屬性設(shè)置 403
9.2.3 工具欄按鈕控件(ToolStrip)對(duì)象的建立及屬性設(shè)置 404
9.2.4 狀態(tài)欄控件(StatusStrip)對(duì)象的建立及其屬性設(shè)置 405
9.2.5 計(jì)時(shí)器控件對(duì)象的建立及其屬性設(shè)置 407
9.3 編碼與功能實(shí)現(xiàn) 407
9.3.1 窗體類的成員變量 407
9.3.2 窗體的加載事件 408
9.3.3 菜單控件及菜單項(xiàng)的事件代碼 409
9.3.4 工具欄控件各按鈕的有關(guān)事件編碼 410
9.4 主窗體的啟動(dòng)、關(guān)閉 411
9.5 對(duì)BLL層的類及相關(guān)成員函數(shù)和成員變量的引用 412
第10章 學(xué)生信息查詢模塊 413
10.1 學(xué)生信息查詢界面設(shè)計(jì) 413
10.1.1 添加窗體到表示層UI 413
10.1.2 控件設(shè)計(jì)與布局及其屬性設(shè)置 413
10.2 模塊功能設(shè)計(jì)與描述 415
10.2.1 按學(xué)號(hào)動(dòng)態(tài)查詢學(xué)生信息 415
10.2.2 按姓氏或姓名模糊查詢學(xué)生信息 416
10.2.3 記錄集中學(xué)生個(gè)人信息的顯示 417
10.2.4 窗體的關(guān)閉 417
10.3 編碼與功能實(shí)現(xiàn) 417
10.3.1 窗體類的成員變量和成員函數(shù)與相關(guān)引用 417
10.3.2 窗體的有關(guān)事件 419
10.3.3 文本輸入框的事件及其編碼 420
10.3.4 表格控件(DataGridView)的相關(guān)事件及編碼 421
10.4 BLL層的類及其函數(shù)與成員變量的引用 423
第11章 選課信息管理模塊 425
11.1 選課信息管理模塊界面設(shè)計(jì) 425
11.1.1 添加窗體到表示層(UI) 425
11.1.2 控件設(shè)計(jì)與布局及屬性設(shè)置 425
11.2 模塊功能設(shè)計(jì)與描述 428
11.2.1 設(shè)置行課日期 428
11.2.2 設(shè)置選修課程 428
11.2.3 選課信息添加功能 428
11.2.4 選課信息刪除功能 430
11.2.5 為其他學(xué)生選課 430
11.3 編程與功能實(shí)現(xiàn) 431
11.3.1 窗體類的成員函數(shù)、成員變量 431
11.3.2 窗體的有關(guān)事件及功能 434
11.3.3 命令按鈕Button類控件及有關(guān)事件 435
11.3.4 表格DataGridView類控件有關(guān)事件 437
11.3.5 文本框TextBox類控件的有關(guān)事件 438
11.3.6 組合框ComboBox類控件有關(guān)事件 439
11.4 BLL層相關(guān)類及其相關(guān)成員函數(shù)和成員變量的引用 440
第12章 選修課成績(jī)維護(hù)模塊 445
12.1 界面設(shè)計(jì) 445
12.1.1 添加窗體到表示層(UI) 445
12.1.2 控件添加與布局及其屬性設(shè)置 445
12.2 模塊功能設(shè)計(jì)與描述 447
12.2.1 學(xué)號(hào)的動(dòng)態(tài)輸入 448
12.2.2 設(shè)置行課日期 448
12.2.3 選修課程信息的顯示 448
12.2.4 課程成績(jī)的錄入與修改 448
12.3 事件編程與功能實(shí)現(xiàn) 449
12.3.1 窗體類的成員函數(shù)與成員變量 449
12.3.2 窗體的有關(guān)事件 449
12.3.3 輸入框的有關(guān)事件 450
12.3.4 表格控件的有關(guān)事件 452
12.3.5 日期組合框的有關(guān)事件 453
12.3.6 Timer控件的有關(guān)事件 454
12.4 BLL層的相關(guān)的類及其成員函數(shù)和成員變量的引用 454
第13章 成績(jī)數(shù)據(jù)批量維護(hù)模塊 456
13.1 界面設(shè)計(jì) 456
13.1.1 添加一個(gè)窗體到應(yīng)用表示層 457
13.1.2 窗體控件添加與布局及屬性設(shè)置 457
13.2 模塊功能設(shè)計(jì)與描述 459
13.2.1 輸入教師編號(hào)或姓名 459
13.2.2 設(shè)置行課日期 460
13.2.3 獲取并顯示課程名稱 460
13.2.4 獲取并顯示班級(jí)名稱 460
13.2.5 課程成績(jī)批量錄入與保存 460
13.2.6 提交數(shù)據(jù) 461
13.3 事件編碼與功能實(shí)現(xiàn) 462
13.3.1 窗體類的成員函數(shù)與成員變量 462
13.3.2 窗體的有關(guān)事件 466
13.3.3 文本框TextBox類控件的有關(guān)事件 467
13.3.4 組合框ComboBox類控件有關(guān)事件 468
13.3.5 命令按鈕Button類控件的有關(guān)事件 470
13.3.6 表格DataGridView類控件有關(guān)事件 471
13.4 BLL層相關(guān)類及成員函數(shù)和成員變量的引用 472
13.5 DAL層相關(guān)類及有關(guān)成員函數(shù)和成員變量的引用 476
附錄 477
附錄A 運(yùn)算的優(yōu)先級(jí) 477
附錄B C#語言中的關(guān)鍵字 478
附錄C C#常用的ASCII字符集 479
參考文獻(xiàn) 480
展開全部
21世紀(jì)高等學(xué)校規(guī)劃教材·計(jì)算機(jī)科學(xué)與技術(shù)C#技術(shù)與應(yīng)用開發(fā)/涂承勝 節(jié)選
C#面向?qū)ο缶幊?
面向?qū)ο缶幊碳夹g(shù)中*重要的概念就是類和對(duì)象。類(class)表示對(duì)現(xiàn)實(shí)生活中一類具有共同特征的事物的抽象,是面向?qū)ο缶幊痰幕A(chǔ)。簡(jiǎn)單地說,類是一種抽象的數(shù)據(jù)類型,是對(duì)一類對(duì)象的統(tǒng)一描述。類是對(duì)某個(gè)對(duì)象的定義,它包含有關(guān)對(duì)象動(dòng)作方式的信息,包括名稱、方法、屬性和事件。類本身不是對(duì)象,因?yàn)樗淮嬖谟趦?nèi)存中。
面向?qū)ο蟮某绦蛟O(shè)計(jì)具有3個(gè)特征:封裝、繼承和多態(tài)。可以大大地增加程序的可靠性、代碼的可重用性和程序的維護(hù)性。
封裝:將抽象得到的數(shù)據(jù)和行為(或功能)形成一個(gè)有機(jī)的整體,即將數(shù)據(jù)與操作數(shù)據(jù)的源代碼進(jìn)行有機(jī)地結(jié)合,形成“類”,其中數(shù)據(jù)和函數(shù)都是類的成員。
繼承:通過繼承可以創(chuàng)建父類和子類(派生類)之間的層次關(guān)系。子類可以使用現(xiàn)有類的所有功能(實(shí)現(xiàn)“代碼重用”),并對(duì)現(xiàn)有的類的功能進(jìn)行擴(kuò)展。通過繼承創(chuàng)建的新類稱為“子類”或“派生類”。 被繼承的類稱為“基類”“父類”或“超類”。派生的新類既有基類的特點(diǎn),又有其本身的新特征。
多態(tài)是指不同的類進(jìn)行同一操作可以有不同的方法。實(shí)現(xiàn)多態(tài),有兩種方式:覆蓋和重載。
覆蓋:是指子類重新定義父類的虛函數(shù)的做法。
重載:是指允許存在多個(gè)同名函數(shù),而這些函數(shù)的參數(shù)表不同(或許參數(shù)個(gè)數(shù)不同,或許參數(shù)類型不同,或許兩者都不同)。
3.1 類與對(duì)象
C#的類是一種對(duì)包括數(shù)據(jù)成員、函數(shù)成員和嵌套類型進(jìn)行封裝的數(shù)據(jù)結(jié)構(gòu)。其中數(shù)據(jù)成員可以是常量。函數(shù)成員可以是方法、屬性、索引器、事件、操作符、實(shí)例構(gòu)建器、靜態(tài)構(gòu)建器、析構(gòu)器。
類是面向?qū)ο蟮某绦蛟O(shè)計(jì)的核心,實(shí)際上是一種新的數(shù)據(jù)類型。
3.1.1 類的結(jié)構(gòu)與定義
類的定義一般分為聲明部分和實(shí)現(xiàn)部分。聲明部分用于聲明該類的成員,包括數(shù)據(jù)成員、成員函數(shù)的聲明。成員函數(shù)用于對(duì)數(shù)據(jù)進(jìn)行操作,又稱之為“方法”。實(shí)現(xiàn)部分用于成員函數(shù)的定義。
類聲明的一般格式如下:
[類訪問修飾符] class類名稱:[基類名稱]
{
類體
}
【說明】 被方括號(hào)括起來的選項(xiàng)為可選項(xiàng)。
(1)類訪問修飾符,可選項(xiàng),用于定義類及其成員的可訪問性,包括以下內(nèi)容。
① public:公共的,表示可以被任意訪問,訪問不受限制。
② private:只可以被本類所訪問。
③ protected:表示受保護(hù)的,只能被本類和其繼承的子類訪問。
④ internal:只限于此程序(類所在的程序內(nèi),即同一個(gè)編譯單元:.DLL或.EXE)訪問。
⑤ abstract:抽象類,不允許建立類的實(shí)例。
⑥ sealed:密封類,不允許該類被繼承。
聲明每一個(gè)類時(shí),如果省略了訪問修飾符,則默認(rèn)的訪問權(quán)限為internal。
(2)關(guān)鍵字class,表示類的定義,只能是小寫字母。
(3)類名稱,是C#中的一個(gè)合法的標(biāo)識(shí)符。由用戶指定,只要滿足命名規(guī)則即可;基類名稱,可選項(xiàng),用于聲明要繼承的類或接口。
(4)類體,用大括號(hào)({})括起來,稱之為類的主體。其中,一般包含兩類成員:數(shù)據(jù)成員和成員函數(shù)。數(shù)據(jù)成員的數(shù)據(jù)類型可以是任意合法的數(shù)據(jù)類型,也可以是另外一個(gè)類的對(duì)象。例如,例2.47中的類Student的定義。
3.1.2 對(duì)象的定義
類是對(duì)同類對(duì)象的一種抽象,對(duì)象是類的實(shí)例。一個(gè)類定義之后,就可以定義該類的對(duì)象。對(duì)象是具有數(shù)據(jù)、行為、標(biāo)識(shí)的編程結(jié)構(gòu),是面向?qū)ο髴?yīng)用程序的一個(gè)組成部分。這個(gè)組成部分封裝了部分應(yīng)用程序。該應(yīng)用程序可以是一個(gè)過程、數(shù)據(jù)或一些抽象的實(shí)體。
1.對(duì)象的定義
類的對(duì)象聲明與創(chuàng)建格式如下:
類名 對(duì)象名; //類的聲明未實(shí)例化
類名 對(duì)象名 = new類名稱([參數(shù)表]); //類的聲明并實(shí)例化對(duì)象
2.對(duì)象的使用(成員的引用)
類的對(duì)象,通過運(yùn)算符“.”引用類的成員。格式如下:
類名.成員名稱
當(dāng)然類的成員能否允許訪問要受成員的訪問修飾符的控制。在使用“對(duì)象名.成員名”來訪問對(duì)象成員時(shí),一定要確認(rèn)該對(duì)象引用不能為空(null),否則會(huì)引起異常。例如:
Student st; //參見例2.47中的類Student的定義,聲明了類的對(duì)象,未實(shí)例化
st.sName = "趙穎";//將引發(fā)錯(cuò)誤,因?yàn)閟t對(duì)象為null。st未實(shí)例化,即未指向任何存儲(chǔ)空間
類和對(duì)象既有區(qū)別也有聯(lián)系。類是一個(gè)相對(duì)抽象的概念,對(duì)象是一個(gè)具體的概念。類為對(duì)象的生成提供模板,利用new生成類的一個(gè)對(duì)象。
3.2 類的成員
定義在類體中的元素都是類的成員。類的成員分為數(shù)據(jù)成員(描述狀態(tài))和函數(shù)成員(描述操作)。類的成員要么是靜態(tài)(static)成員,要么是實(shí)例(instance)成員。靜態(tài)成員可以通過類名稱直接引用,實(shí)例成員要通過類的實(shí)例(對(duì)象)引用。類中一些常用的成員如下。
(1)常量:與類關(guān)聯(lián)的常量值,包括常成員函數(shù)和常數(shù)據(jù)成員。
(2)字段:類中定義的變量。
(3)方法:類可執(zhí)行的計(jì)算或操作,主要是函數(shù)(方法)。
(4)屬性:定義一些特性以及與讀寫這些特性相關(guān)的操作。
(5)事件:可由類生成的通知。
(6)索引器:能以數(shù)組方式索引類的實(shí)例的操作。
(7)運(yùn)算符:類所支持的運(yùn)算符。
(8)委托:本質(zhì)也是類,可以引用一個(gè)或多個(gè)方法。
(9)構(gòu)造函數(shù):特殊的成員函數(shù),初始化類的實(shí)例或類本身所需要的操作,名稱與類名相同。
(10)析構(gòu)函數(shù):特殊的成員函數(shù),在撤銷類實(shí)例之前執(zhí)行的操作。
(11)嵌套類型:在類中聲明的類型。