 |
-- 會員 / 註冊 --
|
|
|
|
C#面向對象編程 ( 簡體 字) |
作者:周長發 | 類別:1. -> 程式設計 -> .NET -> C# |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 8558 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:7/1/2007 |
頁數:761 |
光碟數: |
|
站長推薦:  |
印刷: | 語系: ( 簡體 版 ) |
|
【不接受訂購】 | ISBN:9787121038136 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書以面向對象編程技術和.NET框架類庫為主軸,透徹地介紹了C#的語法、編程思想和高級.NET框架編程技術。全書分為三部分,共22章,全面詳細地解說了C#的技術要點,包括C#語言基礎、C#的面向對象特征、異常處理、委托與事件、集合、泛型、字符串與正則表達式、特性、反射、程序集與版本控制、.NET框架的內存管理、多線程、Windows窗體、GDI+、與非托管代碼互操作等,對每一個知識點都提供了典型實例。本書基于C#和.NET框架的最新版本而編寫,介紹了C#的最新特色,包括泛型、匿名方法、迭代器、靜態類、分部類型和可空類型等。本書既闡述了C#的基礎知識,又介紹了C#的高級應用技術,包括多線程、異步調用、圖形圖像處理、游戲編程、與COM等非托管代碼的互操作,以及插件編程等。 本書適合所有希望了解和掌握C#和.NET的開發人員閱讀,是大專院校計算機相關專業和各類培訓班的理想教學參考書。
|
目錄:第1部分 C#語言基礎 第1章 C#概述 2 1.1 C#溯源 2 1.2 C#與Microsoft .NET 4 1.3 C#的基本特征 5 1.4 C#編程的兩個要點 7 1.4.1 編程方法學:面向對象編程 7 1.4.2 編程庫:.NET框架類庫 9 1.5 安裝C#開發工具 10 1.6 小結 11 1.7 練習 11 第2章 開始C#編程 12 2.1 編寫“Hello World!”程序 12 2.2 編譯和執行程序 13 2.3 程序結構 14 2.3.1 注釋 15 2.3.2 命名空間 15 2.3.3 類 15 2.3.4 Main()方法 15 2.3.5 方法調用 16 2.3.6 文本、標識符與關鍵字 16 2.3.7 語句 17 2.3.8 空白字符 17 2.4 使用Visual Studio 2005來編程 17 2.4.1 Visual Studio 2005是一種集成開發環境 17 2.4.2 基于Visual Studio 2005的C#編程 18 2.4.3 解決方案與項目 20 2.4.4 類視圖 20 2.4.5 功能強大的文本編輯器 22 2.4.6 自動生成的代碼分析 24 2.4.7 生成與查錯 25 2.4.8 執行與調試 27 2.5 小結 29 2.6 練習 29 第3章 變量與常量 30 3.1 C#程序的內存類型 30 3.1.1 堆棧 30 3.1.2 托管堆 31 3.1.3 非托管堆 32 3.2 變量 32 3.3 類型 32 3.3.1 所有類型都是類 32 3.3.2 引用類型 33 3.3.3 值類型 33 3.3.4 基本類型 34 3.4 變量操作 38 3.4.1 聲明變量和變量的作用域 38 3.4.2 給變量賦值 40 3.5 常量 41 3.6 類型轉換 42 3.6.1 隱式轉換 42 3.6.2 顯式轉換 44 3.6.3 裝箱與拆箱 46 3.7 數組 48 3.8 可空類型 50 3.8.1 定義 51 3.8.2 包裝與解包 51 3.8.3 可空轉換 51 3.8.4 裝箱與拆箱 52 3.9 三個基本的.NET框架類 53 3.9.1 Console類 53 3.9.2 Convert類 57 3.9.3 Math類 58 3.10 小結 59 3.11 練習 60 第4章 表達式與運算符 61 4.1 表達式 61 4.2 運算符 61 4.2.1 基本運算符 62 4.2.2 賦值運算符 65 4.2.3 算術運算符 65 4.2.4 一元加、減運算符 66 4.2.5 比較運算符 66 4.2.6 邏輯運算符 67 4.2.7 移位運算符 70 4.2.8 條件邏輯運算符 71 4.2.9 三元運算符 72 4.2.10 提升運算符 72 4.2.11 空合并運算符 74 4.3 運算符的優先級和結合性 75 4.4 小結 76 4.5 練習 76 第5章 程序流程控制 77 5.1 語句和語句塊 77 5.2 選擇語句 78 5.2.1 if…else 78 5.2.2 switch 81 5.3 循環語句 83 5.3.1 while 83 5.3.2 do…while 85 5.3.3 for 87 5.4 跳轉語句 89 5.4.1 break 89 5.4.2 continue 90 5.4.3 return 90 5.4.4 goto 91 5.5 小結 93 5.6 練習 93
第2部分 C#面向對象編程 第6章 面向對象編程技術 96 6.1 UML基礎 96 6.1.1 簡介 97 6.1.2 用例圖 97 6.1.3 類圖和對象圖 98 6.1.4 序列圖 102 6.1.5 狀態圖 103 6.1.6 活動圖 103 6.1.7 組件圖 104 6.1.8 部署圖 104 6.2 對象建模技術 105 6.2.1 功能模型 106 6.2.2 對象模型 106 6.2.3 動態模型 106 6.3 面向對象分析 107 6.3.1 原則 107 6.3.2 階段 108 6.3.3 目標 109 6.3.4 步驟 109 6.3.5 優點 110 6.4 面向對象設計 110 6.4.1 概念 110 6.4.2 原則 111 6.4.3 任務 111 6.4.4 階段 112 6.4.5 過程和步驟 112 6.5 小結 114 6.6 練習 114 第7章 類:抽象與封裝 115 7.1 聲明類 115 7.2 類的成員 116 7.2.1 數據成員 116 7.2.2 函數成員 117 7.3 訪問修飾符 118 7.3.1 類的成員的訪問修飾符 118 7.3.2 類的訪問修飾符 119 7.4 創建對象 120 7.5 靜態成員與實例成員 122 7.6 構造函數與析構函數 124 7.6.1 構造函數 124 7.6.2 析構函數 129 7.7 只讀字段 131 7.8 關鍵字this 132 7.8.1 this訪問 132 7.8.2 this用于構造函數聲明 132 7.9 屬性與索引器 133 7.9.1 屬性 133 7.9.2 索引器 136 7.10 命名空間 139 7.10.1 編譯單元與命名空間 139 7.10.2 完全限定名 140 7.10.3 using指令 141 7.11 內部類 145 7.12 分部類 147 7.13 小結 149 7.14 練習 150 第8章 方法 151 8.1 聲明方法 151 8.2 靜態方法與實例方法 154 8.3 方法參數 156 8.3.1 值參數 157 8.3.2 引用參數 158 8.3.3 輸出參數 158 8.3.4 參數數組 160 8.3.5 數組參數 161 8.4 方法重載 163 8.5 Main方法 170 8.6 遞歸 172 8.7 綜合示例:自動取款機模擬程序 175 8.7.1 需求 175 8.7.2 分析 175 8.7.3 設計 180 8.7.4 實現 180 8.8 小結 189 8.9 練習 189 第9章 繼承與多態 190 9.1 繼承 190 9.1.1 定義類的層次結構和基類 190 9.1.2 聲明繼承 191 9.1.3 C#的繼承原則 193 9.1.4 隱藏方法 196 9.2 多態 198 9.2.1 虛方法與重寫方法 198 9.2.2 重寫方法的性質 200 9.2.3 多態的魔力 203 9.3 關鍵字base 206 9.3.1 base訪問 206 9.3.2 base用于構造函數聲明 207 9.4 抽象類與抽象方法 208 9.5 密封類與密封方法 211 9.6 靜態類 213 9.7 接口 214 9.7.1 聲明接口 214 9.7.2 接口實現與繼承 217 9.7.3 顯式接口成員 220 9.7.4 接口成員訪問 224 9.7.5 接口與組件編程 228 9.8 所有類型的始祖:object 229 9.9 類的轉換 233 9.9.1 隱式轉換 234 9.9.2 顯式轉換 234 9.9.3 is運算符 235 9.9.4 as運算符 236 9.10 關于修飾符的總結 237 9.11 小結 239 9.12 練習 240 第10章 異常處理 243 10.1 處理異常 243 10.1.1 System.Exception 243 10.1.2 引發異常 244 10.1.3 處理異常 245 10.2 公共異常類 250 10.3 自定義異常類 253 10.4 改進自動取款機模擬程序:增加異常處理 254 10.5 小結 255 10.6 練習 256 第11章 重載運算符 257 11.1 重載運算符的原則和語法 257 11.2 重載標準運算符 258 11.2.1 重載一元運算符 259 11.2.2 重載二元運算符 261 11.3 重載轉換運算符 264 11.4 小結 265 11.5 練習 265 第12章 結構與枚舉 266 12.1 結構 266 12.1.1 定義結構 266 12.1.2 結構與類 269 12.2 枚舉 273 12.2.1 聲明枚舉 273 12.2.2 枚舉轉換 275 12.3 小結 278 12.4 練習 278 第13章 集合 280 13.1 集合與接口 280 13.2 數組的高級功能 282 13.2.1 數組的方法和屬性 282 13.2.2 CreateInstance方法 286 13.2.3 數組轉換 288 13.3 常用的集合類 289 13.3.1 ArrayList 289 13.3.2 Hashtable 292 13.3.3 Queue 296 13.3.4 SortedList 297 13.3.5 Stack 299 13.4 foreach循環語句 301 13.5 自定義集合類 304 13.5.1 實現IEnumerable和IEnumerator接口 304 13.5.2 結合IEnumerable和IEnumerator接口 306 13.6 迭代器 307 13.7 改進自動取款機模擬程序:使用集合 310 13.8 小結 311 13.9 練習 311 第14章 字符串與正則表達式 312 14.1 字符串 312 14.1.1 規則字符串與逐字字符串 312 14.1.2 string與String 313 14.1.3 StringBuilder 318 14.2 正則表達式 320 14.2.1 正則表達式語言 320 14.2.2 正則表達式類 328 14.2.3 拆分字符串 332 14.2.4 查詢字符串 334 14.2.5 替換字符串 335 14.3 小結 335 14.4 練習 335 第15章 委托與事件 336 15.1 委托 336 15.1.1 聲明委托 336 15.1.2 使用委托 339 15.1.3 匿名方法 343 15.2 事件 345 15.2.1 聲明事件 345 15.2.2 使用事件 346 15.2.3 訪問器形式的事件 350 15.2.4 在接口中聲明事件 352 15.3 小結 353 15.4 練習 353 第16章 泛型 355 16.1 泛型的概念 355 16.2 聲明泛型 357 16.2.1 泛型類 357 16.2.2 泛型接口 361 16.2.3 泛型委托 362 16.2.4 泛型方法 362 16.3 約束 363 16.4 使用泛型集合類 367 16.5 定義泛型集合類 372 16.6 泛型迭代器 374 16.7 改進自動取款機模擬程序:使用泛型集合 375 16.8 小結 376 16.9 練習 376 第3部分 使用.NET框架類庫 第17章 文件操作 378 17.1 管理文件系統 378 17.1.1 File和FileInfo 379 17.1.2 Directory和DirectoryInfo 388 17.1.3 Path 391 17.1.4 Environment 394 17.2 基于流的文件操作 397 17.2.1 FileStream 399 17.2.2 文本文件 403 17.2.3 二進制文件 407 17.3 XML文件操作 410 17.3.1 XML基礎 410 17.3.2 基于流的XML文件操作 415 17.3.3 基于DOM的XML文件操作 423 17.4 改進自動取款機模擬程序:增加數據存儲功能 432 17.5 小結 437 17.6 練習 437 第18章 特性、反射與程序集 438 18.1 特性 438 18.1.1 使用預定義特性 439 18.1.2 自定義特性 440 18.2 程序集 446 18.2.1 創建程序集與動態鏈接到程序集 447 18.2.2 元數據與清單 451 18.2.3 強名稱與共享 453 18.2.4 版本控制 458 18.2.5 程序集與應用程序域 460 18.3 反射 462 18.3.1 Type類與獲取類型信息 463 18.3.2 獲取程序集元數據 469 18.3.3 動態加載類型 472 18.3.4 插件編程技術 474 18.3.5 通過反射生成動態代碼 479 18.4 自動內存管理與非確定性銷毀 481 18.4.1 自動內存管理 481 18.4.2 非確定性銷毀 484 18.4.3 IDisposable接口 486 18.4.4 using語句 490 18.5 小結 491 18.6 練習 491 第19章 多線程 492 19.1 多線程基礎 492 19.2 線程操作 495 19.2.1 創建線程 495 19.2.2 線程優先級 502 19.2.3 阻塞和中斷線程 504 19.2.4 終止線程 505 19.2.5 線程狀態 507 19.3 線程同步 511 19.3.1 使用Interlocked 514 19.3.2 使用Monitor和lock 517 19.3.3 使用Mutex 522 19.3.4 死鎖和競爭條件 525 19.4 線程池 529 19.5 異步調用 531 19.6 小結 538 19.7 練習 538 第20章 Windows窗體編程 539 20.1 窗體基礎 539 20.1.1 窗體與窗體設計器 539 20.1.2 編寫窗體版的“Hello World!”程序 541 20.2 創建和使用窗體 546 20.2.1 創建窗體 547 20.2.2 定制窗體 550 20.2.3 處理事件 553 20.3 使用控件和組件 555 20.3.1 在窗體上放置控件和組件 557 20.3.2 控件的Anchor屬性與Dock屬性 559 20.3.3 Label 561 20.3.4 TextBox 561 20.3.5 Button 564 20.3.6 CheckBox、RadioButton和GroupBox 566 20.3.7 ListBox和ComboBox 569 20.3.8 ProgressBar和BackgroundWorker 572 20.3.9 ListView 575 20.3.10 TreeView 581 20.4 使用菜單 585 20.4.1 主菜單 585 20.4.2 上下文菜單 595 20.5 對話框 597 20.5.1 自定義對話框 598 20.5.2 通用對話框 602 20.6 容器 605 20.6.1 Panel和SpliContainer 605 20.6.2 TabControl 608 20.7 工具條 611 20.8 多文檔界面窗體 615 20.9 用戶界面與多線程 621 20.10 小結 624 20.11 練習 625 第21章 GDI+圖形圖像編程 626 21.1 GDI+與Graphics類 626 21.1.1 GDI+概述 626 21.1.2 Graphics 627 21.1.3 坐標系 628 21.1.4 Paint事件 629 21.2 圖形操作 630 21.2.1 圖形的基本概念 630 21.2.2 繪圖工具 630 21.2.3 繪圖 634 21.3 字體和文本 643 21.3.1 字體 643 21.3.2 繪制文本 645 21.4 路徑與區域 651 21.4.1 路徑 651 21.4.2 區域 653 21.5 圖像操作 656 21.5.1 位圖文件 656 21.5.2 圖元文件 659 21.5.3 圖像顯示 661 21.5.4 在圖像中繪制圖形、圖像和文本 667 21.6 變換 667 21.6.1 坐標變換 667 21.6.2 顏色變換 669 21.6.3 重新映射顏色表 677 21.7 打印 678 21.8 自定義控件 683 21.8.1 從Windows窗體控件派生自定義控件 684 21.8.2 從UserControl類派生自定義控件 687 21.8.3 使用自定義控件 691 21.9 綜合示例:Hanoi塔游戲 691 21.9.1 設計目標 692 21.9.2 界面設計 692 21.9.3 柱子與盤子 693 21.9.4 游戲控制 702 21.9.5 自動演示 705 21.9.6 手動游戲 709 21.10 小結 711 21.11 練習 712 第22章 與非托管代碼的互操作編程 713 22.1 托管代碼與非托管代碼 713 22.2 在托管代碼中使用動態鏈接庫中的非托管函數 714 22.2.1 DllImport 特性 716 22.2.2 數據封送 719 22.2.3 回調函數 723 22.3 在托管代碼中使用COM組件 724 22.3.1 編寫COM組件 724 22.3.2 生成COM組件的Interop程序集 726 22.3.3 使用COM組件對象 729 22.3.4 COM組件的晚綁定 730 22.3.5 在托管代碼中使用ActiveX控件 732 22.4 在非托管代碼中使用.NET組件 734 22.4.1 供非托管代碼使用的程序集的編碼規范 734 22.4.2 生成強名稱程序集、注冊程序集和導出類型庫文件 738 22.4.3 在非托管代碼中使用程序集 741 22.5 不安全代碼 744 22.5.1 unsafe修飾符 745 22.5.2 指針 746 22.5.3 fixed語句 749 22.5.4 不安全代碼的應用示例 750 22.6 小結 752 22.7 練習 752 附錄A C#關鍵字 753 附錄B C#編程風格 754
|
序: |
|