編輯推薦
微軟認證程序開發專傢(MCAD) Bryan全新作品
清華經典紅皮書 全麵升級至第8版
Visual Studio 2015 百科全書
本書麵嚮編程新手
一本書從入門到精通Visual Basic 2015
內容簡介
循序漸進的Visual Studio 2015新手入門指引
Visual Basic具有通用、可視化和易用特點,是理想的初學者語言。 Visual Basic 2015入門經典(第8版) 麵嚮編程新手,通過詳明的步驟清晰講解各個知識點,可幫助初學者快速上手;還全麵介紹Visual Studio的新功能,以幫助精簡工作流程。本書首先介紹入門知識為你掌握重要編程技能奠定堅實基礎,此後更進一步簡要討論ASP.NET、SQL Server、ADO.NET和XML。本書通俗易懂,詳盡詮釋編程技術,列舉大量動手練習,不需要讀者擁有任何編程經驗。
主要內容
◆ 介紹Visual Basic的安裝以及用於創建簡單應用程序的工具和界麵
◆ 講述.NET框架以及編寫Windows或Web軟件的基礎知識
◆ 給齣如何使用數據結構、對話框和菜單等的專業提示
◆ 使用SQL Server和ADO.NET訪問數據和開發數據庫項目
◆ 使用ASP.NET分步開發Web應用程序和網站
◆ 各種調試和處理不同類型錯誤的方法
作者簡介
Bryan Newsome,領導一個由開發人員組成的團隊,緻力於微軟解決方案。自從開始建立Visual Basic 5 解決方案以來,他掌握瞭Visual Basic 的每個新版本,目前創建的所有新解決方案都利用瞭.NET 平颱和VB.NET。他為客戶提供解決方案,並時刻關注微軟的新技術。Bryan 是Visual Basic .NET 方麵的微軟認證程序開發專傢(MCAD)。
內頁插圖
目錄
第1章 初識Visual Basic 2015 1
1.1 事件驅動編程 2
1.2 安裝Visual Basic 2015 3
1.3 Visual Basic 2015集成開發環境 4
1.3.1 配置啓動頁麵 4
1.3.2 菜單 6
1.3.3 工具欄 6
1.4 創建簡單的應用程序 7
1.4.1 工具箱 10
1.4.2 改進型匈牙利錶示法 13
1.4.3 代碼編輯器 14
1.5 使用幫助係統 17
1.6 小結 18
第2章 .NET Framework概述 19
2.1 .NET理念 19
2.1.1 .NET與Java有些類似 20
2.1.2 現在所處的階段 20
2.2 為Windows編寫軟件 21
2.2.1 .NET Framework類 21
2.2.2 執行代碼 22
2.3 公共語言運行時 23
2.3.1 載入並執行代碼 24
2.3.2 應用程序隔離 24
2.3.3 安全性 24
2.3.4 互操作 25
2.3.5 異常處理 25
2.4 通用類型係統和
公共語言規範 25
2.5 小結 26
第3章 編寫軟件 27
3.1 信息和數據 27
3.1.1 算法 27
3.1.2 什麼是編程語言 28
3.2 使用變量 29
3.3 注釋和空白 32
3.3.1 注釋 32
3.3.2 空白 33
3.4 數據類型 33
3.4.1 使用數字 34
3.4.2 常見的整型數學運算 34
3.4.3 整型運算的縮寫方式 37
3.4.4 有關整型運算的問題 38
3.4.5 浮點型數學運算 38
3.4.6 使用字符串 41
3.4.7 使用日期 48
3.4.8 布爾類型 54
3.5 存儲變量 54
3.5.1 二進製 55
3.5.2 位和字節 55
3.5.3 值的錶示 56
3.5.4 值的轉換 57
3.6 方法 58
3.6.1 使用方法的原因 59
3.6.2 前麵曾介紹過的方法 59
3.6.3 創建方法 62
3.6.4 選擇方法名稱 65
3.6.5 作用域 66
3.7 小結 68
第4章 流程控製 69
4.1 做齣決策 69
4.2 If語句 70
4.2.1 Else語句 72
4.2.2 可進行多重選擇的ElseIf語句 72
4.2.3 嵌套的If語句 74
4.2.4 單行If語句 74
4.2.5 比較運算符 74
4.2.6 字符串比較 83
4.3 Select Case語句 84
4.3.1 不區分大小寫的Select Case語句 88
4.3.2 多重選擇 90
4.3.3 Case Else語句 91
4.3.4 Select Case中的不同數據類型 92
4.4 循環 92
4.4.1 For…Next 循環 92
4.4.2 Do…Loop循環 98
4.4.3 嵌套循環 102
4.4.4 提前退齣循環 104
4.4.5 退齣Do…Loop循環 105
4.4.6 無限循環 106
4.5 小結 107
第5章 處理數據結構 109
5.1 數組 109
5.1.1 定義和使用數組 110
5.1.2 使用For Each…Next循環 113
5.1.3 將數組作為參數傳遞 115
5.1.4 數組的排序 117
5.1.5 反嚮檢索 118
5.1.6 用值初始化數組 119
5.2 枚舉 120
5.2.1 使用枚舉 121
5.2.2 確定狀態 124
5.2.3 設置無效值 126
5.3 常量 127
5.3.1 使用常量 127
5.3.2 各種常量類型 129
5.4 結構 129
5.4.1 創建結構 130
5.4.2 為結構添加屬性 133
5.5 ArrayList 134
5.5.1 使用ArrayList 134
5.5.2 在ArrayList中進行刪除操作 138
5.5.3 顯示ArrayList中的項 141
5.6 集閤 142
5.6.1 創建CustomerCollection類 143
5.6.2 添加Item屬性 145
5.7 使用HashTable創建查找錶 146
5.7.1 使用HashTable 146
5.7.2 Remove、RemoveAt和
Clear方法 150
5.7.3 區分大小寫 152
5.8 高級數組操作 153
5.8.1 動態數組 154
5.8.2 使用Preserve關鍵字 156
5.9 小結 156
第6章 構建Windows應用程序 159
6.1 響應事件 159
6.2 統計字符 163
6.3 統計單詞 166
6.4 創建更復雜的應用程序 169
6.5 創建工具欄 170
6.6 創建狀態欄 173
6.7 創建編輯框 173
6.8 清除編輯框 174
6.9 響應工具欄按鈕 176
6.10 使用多個窗體 179
6.11 About對話框 179
6.12 小結 182
第7章 顯示對話框 185
7.1 MessageBox對話框 185
7.1.1 MessageBox中的可用圖標 186
7.1.2 MessageBox中的可用按鈕 186
7.1.3 設置默認按鈕 187
7.1.4 其他選項 187
7.1.5 Show方法的語法 187
7.1.6 MessageBox的示例 189
7.2 OpenFileDialog控件 192
7.2.1 OpenFileDialog控件 192
7.2.2 OpenFileDialog的屬性 193
7.2.3 OpenFileDialog的方法 194
7.2.4 使用OpenFileDialog控件 195
7.3 SaveFileDialog控件 199
7.3.1 SaveFileDialog的屬性 199
7.3.2 SaveFileDialog的方法 200
7.3.3 使用SaveFileDialog控件 200
7.4 FontDialog控件 203
7.4.1 FontDialog的屬性 203
7.4.2 FontDialog的方法 204
7.4.3 使用FontDialog控件 204
7.5 ColorDialog控件 206
7.5.1 ColorDialog的屬性 207
7.5.2 使用ColorDialog控件 208
7.6 PrintDialog控件 209
7.6.1 PrintDialog的屬性 210
7.6.2 使用PrintDialog控件 210
7.6.3 PrintDocument類 210
7.6.4 打印文檔 211
7.7 FolderBrowserDialog控件 217
7.7.1 FolderBrowserDialog控件的屬性 217
7.7.2 使用FolderBrowserDialog控件 218
7.8 小結 220
第8章 創建菜單 223
8.1 菜單功能概述 223
8.1.1 圖像 223
8.1.2 訪問鍵 224
8.1.3 快捷鍵 224
8.1.4 復選標記 224
8.1.5 Properties窗格 225
8.2 創建菜單 226
8.2.1 設計菜單 226
8.2.2 添加工具欄和控件 228
8.2.3 為菜單編寫代碼 229
8.2.4 為View菜單和工具欄編寫代碼 233
8.2.5 測試代碼 234
8.3 上下文菜單 237
8.3.1 創建上下文菜單 237
8.3.2 啓用或禁用菜單項和工具欄按鈕 240
8.4 小結 244
第9章 調試和錯誤處理 245
9.1 主要錯誤類型 245
9.1.1 語法錯誤 246
9.1.2 執行錯誤 249
9.1.3 邏輯錯誤 249
9.2 調試 250
9.2.1 創建示例項目 251
9.2.2 設置斷點 265
9.2.3 使用Watch窗口和QuickWatch對話框進行調試 272
9.2.4 使用Autos窗口進行調試 274
9.2.5 使用Locals窗口進行調試 274
9.3 錯誤處理 275
9.4 使用結構化錯誤處理 276
9.5 小結 278
第10章 構建對象 281
10.1 對象的概念 281
10.1.1 封裝 282
10.1.2 方法和屬性 282
10.1.3 事件 283
10.1.4 可見性 283
10.1.5 類的概念 284
10.2 構建類 284
10.3 重用性 285
10.4 設計對象 286
10.4.1 狀態 286
10.4.2 行為 287
10.4.3 存儲狀態 287
10.4.4 屬性 290
10.4.5 讀/寫屬性 292
10.4.6 自實現屬性 295
10.4.7 IsMoving方法 295
10.5 構造函數 297
10.6 繼承 299
10.6.1 添加新方法和屬性 300
10.6.2 添加GetPowerToWeightRatio方法 302
10.6.3 改變默認值 304
10.6.4 多態性:可怕的單詞,簡單的概念 305
10.6.5 重寫更多的方法 306
10.6.6 從對象類中繼承 308
10.7 對象和結構 308
10.8 框架類 308
10.8.1 名稱空間 309
10.8.2 Imports語句 310
10.8.3 創建自己的名稱空間 311
10.8.4 .NET Framework中的繼承 314
10.9 小結 314
第11章 麵嚮對象的高級技術 317
11.1 構建收藏頁瀏覽應用程序 317
11.1.1 Internet快捷方式和收藏頁 317
11.1.2 使用類 320
11.1.3 遍曆收藏頁 325
11.1.4 查看收藏頁 332
11.2 另一個收藏頁瀏覽應用程序 334
11.2.1 構建收藏頁的係統托盤圖標 334
11.2.2 顯示收藏頁 335
11.3 使用共享屬性和方法 339
11.3.1 使用共享屬性 339
11.3.2 使用共享方法 344
11.4 理解麵嚮對象編程和內存管理 345
11.4.1 垃圾迴收 346
11.4.2 釋放資源 346
11.4.3 整理碎片和壓縮 347
11.5 小結 348
第12章 使用結構化查詢語句訪問數據庫 351
12.1 完成本章練習所需要掌握的知識 351
12.2 什麼是數據庫 352
12.2.1 數據庫錶 353
12.2.2 主鍵和外鍵 357
12.2.3 查詢 359
12.3 理解基本的SQL語法 360
12.3.1 使用SELECT語句 360
12.3.2 使用JOIN語句 361
12.3.3 使用UPDATE語句 363
12.3.4 使用DELETE語句 363
12.3.5 使用INSERT語句 364
12.3.6 使用SQL注釋 364
12.4 在SQL Server中執行查詢 365
12.5 小結 368
第13章 使用SQL Server和ADO.NET進行數據庫編程 371
13.1 ADO.NET 372
13.2 ADO.NET數據名稱空間 372
13.2.1 SqlConnection類 373
13.2.2 使用連接字符串參數 373
13.2.3 打開和關閉連接 374
13.2.4 SqlCommand類 374
13.2.5 SqlDataAdapter類 376
13.2.6 DataSet類 380
13.2.7 DataView類 380
13.3 使用ADO.NET類 382
13.4 數據綁定 391
13.4.1 BindingContext和CurrencyManager對象 391
13.4.2 綁定控件 392
13.4.3 綁定示例 393
13.5 小結 418
第14章 ASP.NET 421
14.1 瘦客戶端體係結構 421
14.2 Web窗體和Windows窗體的比較 422
14.2.1 Windows窗體的優點 422
14.2.2 Web窗體的優點 423
14.3 Web應用程序基礎 423
14.3.1 Web服務器 423
14.3.2 瀏覽器 424
14.3.3 超文本標記語言 424
14.3.4 JavaScript 424
14.3.5 CSS 425
14.4 關於ASP頁麵 425
14.4.1 ASP.NET Web頁麵的優點 425
14.4.2 特殊的Web站點文件 425
14.4.3 開發方式 426
14.4.4 工具箱 426
14.5 構建Web應用程序 426
14.5.1 為客戶端和服務器端處理創建Web窗體 427
14.5.2 Visual Studio 2015中Web站點的位置 431
14.5.3 數據的輸入和驗證 433
14.5.4 使用GridView構建數據驅動的Web窗體 441
14.6 小結 445
第15章 部署應用程序 447
15.1 什麼是部署 447
15.1.1 ClickOnce部署 448
15.1.2 XCOPY部署 452
15.2 Visual Studio 2015安裝程序選項 453
15.3 部署不同的解決方案 453
15.3.1 私有程序集 453
15.3.2 共享程序集 454
15.3.3 部署桌麵應用程序 455
15.3.4 部署Web應用程序 455
15.3.5 部署XML Web服務 455
15.3.6 一些有用的工具 455
15.4 小結 456
第16章 Windows 8應用程序 457
16.1 Windows 8應用程序的設計原則 457
16.1.1 使用觸摸 458
16.1.2 應用程序命令 458
16.1.3 Windows 8控件 460
16.1.4 用XAML編寫Windows 8應用程序 460
16.1.5 創建第一個Windows 8應用程序 461
16.2 應用程序布局 474
16.2.1 應用程序視圖 474
16.2.2 屏幕大小和方嚮 474
16.3 小結 479
附錄A 練習題答案 481
前言/序言
《C++ Primer Plus(第6版)》:一本紮實的C++編程入門與進階指南 引言 在軟件開發的廣闊天地中,C++語言以其強大的性能、靈活的內存控製以及跨平颱的特性,一直占據著舉足輕重的地位。從係統底層開發到高性能遊戲引擎,從嵌入式係統到大型企業級應用,C++的身影無處不在。對於渴望掌握這門強大語言的開發者而言,一本優秀的書籍是必不可少的引路者。《C++ Primer Plus(第6版)》正是這樣一本集權威性、係統性、實用性於一身的經典之作,它能夠帶領讀者從零開始,一步步深入理解C++的精髓,並為未來的深入學習和實際項目開發打下堅實的基礎。 內容概述 《C++ Primer Plus(第6版)》是一本麵嚮初學者和有一定編程經驗的開發者的綜閤性C++教程。本書的內容設計嚴謹,循序漸進,涵蓋瞭C++語言的方方麵麵,從最基本的語法概念到復雜的麵嚮對象特性,再到更高級的主題,都進行瞭詳盡而清晰的闡述。 第一部分:C++編程基礎 本書的開篇,將帶領讀者認識C++這門語言,理解其發展曆程、核心理念以及在現代軟件開發中的作用。隨後,將從最基礎的編程概念入手,例如: 程序的結構與運行: 介紹C++程序的組織方式,包括頭文件、函數、語句等基本組成部分,以及如何編譯、鏈接和運行一個C++程序。 基本數據類型與變量: 深入講解C++中內置的基本數據類型,如整型(`int`)、浮點型(`float`、`double`)、字符型(`char`)等,以及如何聲明和使用變量來存儲和操作數據。 運算符與錶達式: 詳盡介紹算術運算符、關係運算符、邏輯運算符、位運算符等,以及它們在構建錶達式中的應用,理解錶達式的求值過程。 控製流程語句: 學習如何使用條件語句(`if`、`else if`、`else`、`switch`)來控製程序的執行路徑,以及使用循環語句(`for`、`while`、`do-while`)來重復執行代碼塊。 函數: 理解函數的作用,如何定義和調用函數,參數傳遞的方式(值傳遞、引用傳遞),以及函數的返迴值。函數是實現模塊化編程的關鍵,本書將深入講解其設計和使用。 第二部分:麵嚮對象編程(OOP)的基石 C++的核心競爭力之一在於其強大的麵嚮對象特性。《C++ Primer Plus(第6版)》將花費大量篇幅,係統地介紹麵嚮對象編程的四大基本概念,並結閤豐富的示例進行講解: 類與對象: 深入理解類(Class)作為藍圖的概念,以及對象(Object)作為類的實例。學習如何定義類,包括數據成員(屬性)和成員函數(方法),並理解訪問控製(`public`、`private`、`protected`)的重要性。 封裝: 強調將數據和操作數據的方法捆綁在一起,隱藏內部實現細節,隻對外暴露必要的接口。這有助於提高代碼的安全性和可維護性。 繼承: 學習如何創建新的類(派生類)來繼承現有類(基類)的屬性和方法。理解不同類型的繼承(公有繼承、保護繼承、私有繼承),以及多重繼承帶來的復雜性。 多態: 探討在運行時根據對象的實際類型調用相應方法的機製。詳細介紹虛函數(`virtual`)和純虛函數(`pure virtual`)的概念,理解靜態聯編和動態聯編的區彆。 第三部分:深入C++特性 在掌握瞭麵嚮對象的基礎後,本書將帶領讀者進一步探索C++更高級、更強大的特性: 構造函數與析構函數: 學習如何使用構造函數來初始化對象,以及如何使用析構函數來釋放對象所占用的資源。理解默認構造函數、參數化構造函數、拷貝構造函數以及拷貝賦值運算符。 運算符重載: 學習如何為自定義類型賦予標準運算符的行為,使得代碼更加直觀和易讀。例如,重載加法運算符來實現兩個自定義對象的相加。 模闆: 掌握泛型編程的思想,使用函數模闆和類模闆來編寫能夠處理多種數據類型的通用代碼,極大地提高瞭代碼的復用性。 異常處理: 學習如何使用`try-catch`塊來處理程序運行時可能齣現的錯誤,確保程序的健壯性,避免程序崩潰。 標準模闆庫(STL): 介紹STL的核心組件,包括容器(如`vector`、`list`、`map`、`set`)、算法(如排序、查找、遍曆)和迭代器。STL是C++開發效率的巨大提升,本書將對其進行詳細的講解和演示。 內存管理: 深入理解C++的內存模型,包括棧(Stack)和堆(Heap)。學習如何使用`new`和`delete`運算符進行動態內存分配和釋放,以及如何避免內存泄漏等常見問題。 智能指針: 介紹C++11引入的智能指針(如`unique_ptr`、`shared_ptr`、`weak_ptr`),它們能夠自動化內存管理,顯著減少手動內存管理的負擔和錯誤。 文件I/O: 學習如何使用C++的流庫(``)來讀寫文件,實現數據的持久化存儲。 第四部分:進階主題與實踐 為瞭幫助讀者構建更復雜、更強大的應用程序,本書還將涉及一些進階主題: C++11/14/17新特性: 介紹C++語言近年來引入的重要新特性,如Lambda錶達式、右值引用、自動類型推導(`auto`)、範圍for循環等,這些新特性極大地提升瞭C++的錶達能力和開發效率。 構建工具與調試: 簡要介紹常見的C++構建工具(如Makefile、CMake)以及如何使用調試器來定位和修復代碼中的錯誤。 麵嚮對象設計原則: 探討一些麵嚮對象設計的原則(如SOLID原則),幫助讀者寫齣更易於擴展、維護和理解的代碼。 實戰項目示例: 書中穿插瞭大量的小型項目和練習,例如實現一個簡單的計算器、管理係統、圖形界麵應用等,讓讀者在實踐中鞏固所學知識。 特點與優勢 《C++ Primer Plus(第6版)》之所以能夠成為經典,得益於其諸多突齣優點: 循序漸進的教學方法: 本書結構清晰,內容組織閤理,從易到難,逐步深入,確保讀者能夠一步一個腳印地掌握C++的知識。 豐富的代碼示例: 書中包含瞭大量精心設計的代碼示例,這些示例不僅能夠清晰地演示概念,而且經過實際驗證,可以直接用於學習和參考。 詳盡的解釋與說明: 對於每一個概念,本書都進行瞭深入淺齣的解釋,並輔以必要的理論背景和原理說明,讓讀者知其然,更知其所以然。 高質量的練習題: 每章都配有數量可觀的課後習題,涵蓋瞭從基礎概念鞏固到綜閤應用能力的提升,能夠有效檢驗讀者的學習成果。 麵嚮實際應用: 本書的內容設計不僅側重於語言本身的語法特性,更注重將這些特性應用於實際的項目開發中,幫助讀者理解如何在真實場景中運用C++。 對C++標準的更新: 第6版全麵更新,融入瞭C++11、C++14和C++17的部分重要新特性,確保內容的時效性。 優秀的翻譯質量: (如果引用的是中文版)優秀的翻譯確保瞭技術術語的準確傳達和閱讀的流暢性。 適用人群 零基礎的編程初學者: 如果您從未接觸過編程,或者對C++有濃厚的興趣,本書是開啓您C++編程之旅的絕佳選擇。 其他語言的開發者: 如果您已經掌握瞭其他編程語言,並希望學習C++,本書能夠幫助您快速理解C++的獨特之處。 希望深入理解C++的程序員: 即使您已經有一些C++使用經驗,本書也能為您提供更係統、更深入的知識,幫助您成為更優秀的C++開發者。 計算機科學專業的學生: 本書是學習C++語言的理想教材,能夠幫助學生打下堅實的理論基礎。 總結 《C++ Primer Plus(第6版)》是一本真正意義上的“經典”,它不僅僅是一本技術書籍,更是一份通往C++世界的完整地圖。通過認真研讀本書,您將不僅學會C++的語法,更將領悟其設計哲學,掌握構建高效、健壯、可維護的軟件應用程序的核心技能。無論您是想成為一名遊戲開發者、係統工程師,還是希望在嵌入式領域大展拳腳,紮實的C++功底都是您成功的基石。《C++ Primer Plus(第6版)》將是您在這條道路上最值得信賴的夥伴。