定 價:55 元
叢書名:“十三五”普通高等教育規(guī)劃教材立體化·新形態(tài)教材
當前圖書已被 2 所學校薦購過!
查看明細
- 作者:劉瑞新
- 出版時間:2018/8/1
- ISBN:9787111605614
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312C++
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書全面細致地講授面向對象的概念、方法和應用,突出面向對象程序設計的思想,并以C#為載體來實現面向對象的設計。本書按面向對象的設計方法來歸類章節(jié),分為15章,包括類和對象,封裝,繼承,多態(tài),程序的調試和異常處理,接口和多態(tài)的實現,靜態(tài)類和密封類,值類型和引用類型,索引器,泛型,集合,Windows窗體應用程序,文件操作,委托和事件,多線程編程。本書概念清晰,定義準確,例題實用,習題豐富,是一本真正簡明易學的面向對象程序設計的教材。
本書可作為高等院校計算機專業(yè)及相關專業(yè)的C#面向對象程序設計課程的教材,同時也可作為各類面向對象的C#程序設計培訓班的教學用書。
本書配有授課用課件、重點難點的授課視頻等資源,并提供所有例題、課堂練習和習題的源代碼,可以在閱讀時掃描二維碼查看或下載,也可登錄www.cmpedu.com免費注冊,審核通過后下載或聯系編輯索取(QQ:2966938356,電話:010-88379739)。
本書中的例題采用完全的面向對象程序代碼,使讀者逐步習慣閱讀面向對象的代碼,形成條件反射,養(yǎng)成用面向對象的思維去分析和解決問題。
本書配有授課用課件、重點難點的授課視頻等資源,并提供所有例題、課堂練習和習題的源代碼,可以在閱讀時掃描二維碼查看或下載。
在計算機及相關專業(yè)課程中,面向對象程序設計課程是學生必修的核心課程。面向對象的程序設計思想從提出到現在,一直是程序開發(fā)的主流思想,是所有計算機軟件開發(fā)人員必須掌握的關鍵技術。在計算機相關專業(yè)的課程設置中,多數高校以C語言作為學生學習的第一門高級語言,由于先入為主等原因,在學生后續(xù)的C++、C#、Java等面向對象程序設計的課程學習中,學生建立系統的面向對象的思想比較困難。
在C#面向對象程序設計課程的設計過程中,我們廣泛收集教學資料,拜訪多所大學,請教了多位著名老師;主要成員參加了企業(yè)的多項培訓(例如北大青鳥、微軟等),在教學中也采用了多種教學方案,試圖幫助學生掌握面向對象的編程。本書初稿完成后,經過3年多的教學實踐,跟蹤學生學習效果,反復調整課程內容,經過多次課程內容的迭代,形成了自己獨特的課程教學方案,編寫了《面向對象程序設計教程(C#版)》一書。諾貝爾物理學獎得主,理查德·費曼說:“偉大的進展都源于承認無知,源于思想的自由!蔽覀冊谡n程內容的取舍、教學內容的先后順序,典型例題、習題的選取上,經過了痛苦的選擇,如果沒有思想的自由解放,是無法實現目前的課程方案,達到滿意教學效果的。
我們知道,學生對每門課程最初幾次上課的印象最深,因此應該把課程的重要內容安排在學期的最初幾次課上來講。基于這個現象,本書第1章類和對象,第2章封裝,第3章繼承,第4章多態(tài),使讀者盡早掌握用類的三大特性,完成面向對象第一階段的學習。在第一階段,讀者建立起來類和對象的概念,掌握類的三大特性,理解面向對象的基本思想,這樣之后的學習難度就降低了很多。第二階段學習第5章程序的調試和異常處理,第6章接口和多態(tài)的實現,第7章靜態(tài)類和密封類,第8章值類型和引用類型,第9章索引器,第10章泛型,第11章集合。第三階段學習第12章Windows窗體應用程序,第13章文件操作,第14章委托和事件,第15章多線程編程。值得一提的是,本書中的例題采用完全的面向對象程序代碼,使讀者逐步習慣閱讀面向對象的代碼,形成條件反射,養(yǎng)成用面向對象的思維去分析和解決問題。
本課程的前導課程是C語言或其他高級語言。對于沒有學習過任何高級語言的讀者,學習本書也不會有障礙,因為本書把許多基礎知識分散到各個章節(jié)中,而且在程序中通過應用來體現,這樣更有利于理解。通過本書的學習,讀者不但能學會面向對象程序設計的基本知識、設計思想和方法,還能很容易地過渡到其他面向對象程序設計語言的學習與使用上,只需了解該語言的語法,就可以非常輕松地掌握。
C#是一種簡潔、類型安全的面向對象的語言,可用它來構建在.NET Framework上運行的各種安全、可靠的應用程序,常用于開發(fā)Windows客戶端應用程序、ASP.NET網站、XML Web Services、分布式組件、客戶端/服務器應用程序、數據庫應用程序等。C#的生成過程比C和C++簡單,比Java更靈活,C#非常適合作為第一門面向對象的語言來學習。
本書概念清晰,定義準確,例題實用,習題豐富,是一本真正簡明易學的面向對象程序設計的教材。在面向對象的思想中,萬事萬物皆對象,當掌握了面向對象的思想后,可以用面向對象的思維去看待面向對象的世界,將面向對象的方法應用在生活、工作中,對分析問題、解決問題都有幫助,受益終生。
本書的主要作者在高校講授面向對象程序設計課程十多年,參與了高校多次的教學改革,制訂過計算機相關專業(yè)的教學計劃和課程標準,并參加過多項實際應用項目的開發(fā),有著豐富的教學和實踐經驗。
本書配套資源豐富,方便讀者學習。對于授課視頻、例題視頻和部分源代碼,在閱讀時可以通過掃描二維碼直接查看;對于教學課件和習題解答,在閱讀時可以通過掃描二維碼獲得下載鏈接進行下載。
本書編寫分工如下:劉瑞新編寫第1、2、12章,張治斌編寫第3、8章,朱立編寫第4、5、6章,王莉編寫第7、10章,張迎春編寫第11、13章,崔淼編寫第15章,第9、14章以及資料的收集整理、課件的制作由彭守旺、翟麗娟、劉克純、劉春芝、李建彬、劉大學、繆麗麗、劉大蓮、莊建新、彭春芳、孫洪玲、崔瑛瑛、韓建敏、莊恒、徐維維、徐云林、馬春鋒、駱秋容、王如雪、曹媚珠、陳文煥、劉有榮、李剛、孫明建、李索、彭澤源完成。本書由劉瑞新教授策劃、統稿。編寫過程中得到了許多教師的大力支持,他們提出許多寶貴意見使本書更加適合教學,在此一并感謝。
在編寫本書的過程中,編者翻閱了大量的資料,限于篇幅不再一一列出,在此表示衷心感謝。
由于計算機技術發(fā)展迅速,書中難免有不足和疏漏之處,懇請廣大讀者批評指正。
目 錄
前言
第1章 類和對象1
1.1 面向對象的概念1
1.1.1 對象抽象成類1
1.1.2 由類創(chuàng)建對象3
1.1.3 對象之間的通信4
1.1.4 面向對象開發(fā)的特點4
1.2 定義類、創(chuàng)建對象4
1.2.1 定義類4
1.2.2 類的成員4
1.2.3 成員變量8
1.3 創(chuàng)建對象9
1.3.1 對象的聲明與實例化9
1.3.2 對象成員的訪問10
1.3.3 類和對象應用示例10
1.4 命名空間12
1.4.1 命名空間概述12
1.4.2 命名空間的聲明12
1.4.3 導入其他命名空間14
1.4.4 命名空間的嵌套14
1.5 習題15
第2章 封裝16
2.1 封裝的概念16
2.2 類的屬性18
2.2.1 屬性的聲明18
2.2.2 屬性的訪問21
2.3 方法重載21
2.4 構造函數24
2.4.1 構造函數的概念24
2.4.2 構造函數的定義25
2.4.3 構造函數的分類26
2.4.4 調用構造函數26
2.4.5 構造函數的重載28
2.5 習題30
第3章 繼承32
3.1 繼承的概念32
3.2 派生類及其特性33
3.2.1 聲明派生類33
3.2.2 繼承的特性36
3.3 繼承與訪問修飾符38
3.4 繼承與構造函數39
3.5 里氏替換原則44
3.5.1 里氏替換原則概述44
3.5.2 派生類對象能夠替換基類對象44
3.5.3 類的引用45
3.5.4 隱藏基類中的成員47
3.6 習題47
第4章 多態(tài)49
4.1 多態(tài)的概念49
4.2 使用重寫和虛方法實現多態(tài)50
4.2.1 重寫的概念50
4.2.2 在派生類中使用new關鍵字實現覆蓋性重寫50
4.2.3 使用虛方法實現多態(tài)性重寫52
4.3 使用抽象類和抽象方法實現多態(tài)56
4.3.1 抽象類的概念56
4.3.2 抽象類和抽象方法的定義57
4.3.3 重載抽象方法58
4.3.4 理解多態(tài)58
4.4 對象類型的轉換與判斷61
4.4.1 向上轉換類型(隱式轉換類型)61
4.4.2 向下轉換類型(強制轉換類型)63
4.4.3 使用as和is運算符66
4.5 習題68
第5章 程序的調試和異常處理70
5.1 程序的調試70
5.1.1 調試工具70
5.1.2 設置斷點71
5.1.3 調試的過程72
5.2 錯誤與異常概述75
5.2.1 錯誤與異常的區(qū)別76
5.2.2 異常處理77
5.3 C#中的異常處理79
5.3.1 使用try…catch處理異常79
5.3.2 使用try…catch…finally處理異常82
5.3.3 異常處理的指導原則和特點87
5.3.4 使用throw拋出異常87
5.4 習題88
第6章 接口和多態(tài)的實現92
6.1 接口概述92
6.1.1 接口的概念92
6.1.2 接口的聲明92
6.1.3 接口的實現95
6.1.4 接口成員的實現96
6.1.5 接口映射98
6.1.6 重新實現接口99
6.1.7 接口的本質100
6.2 多態(tài)的實現101
6.2.1 抽象類與普通類的對比101
6.2.2 抽象類與接口的對比101
6.2.3 抽象類和接口的使用場合102
6.2.4 使用抽象類和接口實現多態(tài)103
6.3 習題106
第7章 靜態(tài)類和密封類108
7.1 靜態(tài)成員108
7.1.1 靜態(tài)成員概述108
7.1.2 靜態(tài)字段108
7.1.3 靜態(tài)方法111
7.1.4 靜態(tài)成員總結112
7.1.5 靜態(tài)方法與實例方法的區(qū)別112
7.2 String類的常用方法113
7.2.1 String類的常用靜態(tài)方法113
7.2.2 String類的常用實例方法116
7.3 靜態(tài)類118
7.3.1 靜態(tài)類的定義118
7.3.2 訪問靜態(tài)類的成員119
7.3.3 靜態(tài)構造函數120
7.4 密封類和密封方法122
7.4.1 密封類的定義122
7.4.2 密封方法123
7.5 習題124
第8章 值類型和引用類型126
8.1 值類型和引用類型簡介126
8.1.1 ?臻g和堆空間126
8.1.2 值類型和引用類型的定義127
8.2 方法的參數類型131
8.2.1 C#中方法的參數132
8.2.2 值參數132
8.2.3 引用參數133
8.2.4 輸出參數134
8.2.5 數目可變參數135
8.2.6 可選參數136
8.2.7 命名參數137
8.2.8 方法解析138
8.3 值類型和引用類型的應用138
8.3.1 值類型參數按值方式傳遞138
8.3.2 值類型參數按引用方式傳遞139
8.3.3 引用類型參數按值方式傳遞139
8.3.4 引用類型參數按引用方式傳遞140
8.4 相等判斷141
8.4.1 靜態(tài)ReferenceEquals()方法141
8.4.2 = =運算符142
8.4.3 實例Equals()方法142
8.4.4 靜態(tài)Equals()方法144
8.4.5 三種比較方法的異同144
8.5 字符串的存儲原理145
8.6 常量、枚舉和結構148
8.6.1 常量148
8.6.2 枚舉類型151
8.6.3 結構類型153
8.7 裝箱和拆箱155
8.8 習題156
第9章 索引器159
9.1 索引器的概念159
9.2 定義索引器159
9.3 索引器的使用161
9.4 使用其他非整數的索引類型162
9.5 索引器與屬性的比較164
9.6 接口中的索引器165
9.7 習題168
第10章 泛型170
10.1 泛型的概念170
10.2 泛型類171
10.2.1 定義泛型類171
10.2.2 泛型類對象的創(chuàng)建172
10.2.3 泛型類的應用173
10.3 泛型類中數據類型的約束173
10.3.1 泛型類約束的概念173
10.3.2 使用where約束類型174
10.3.3 where約束的應用179
10.4 泛型類的靜態(tài)成員181
10.5 泛型類的繼承182
10.6 泛型方法185
10.6.1 泛型方法的聲明185
10.6.2 調用泛型方法192
10.6.3 泛型方法的應用193
10.7 泛型參數的轉換195
10.8 泛型接口196
10.9 習題197
第11章 集合199
11.1 集合的概念199
11.2 Ar