面向?qū)ο蟪绦蛟O(shè)計:C++實現(xiàn)
定 價:35 元
叢書名:高等院校計算機(jī)教材系列
- 作者:雷大正 王嘯楠 丁德成
- 出版時間:2017/2/1
- ISBN:9787111558842
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TP312
- 頁碼:227
- 紙張:膠版紙
- 版次:1
- 開本:16開
本書共分為三部分。*部分為設(shè)計部分,主要針對兩個綜合項目(LostCraft游戲以及HR服務(wù)平臺)進(jìn)行介紹,引出面向?qū)ο笏季S概念并構(gòu)建面向?qū)ο笏季S模型;第二部分為實踐部分,將抽象的案例模型實例化,并在實現(xiàn)過程中掌握C 基礎(chǔ)語法;第三部分為提高部分,通過一個綜合項目示例培養(yǎng)學(xué)生綜合編程能力。
前 言近年來,支持面向?qū)ο蟪绦蛟O(shè)計的C 語言迅速在國內(nèi)普及,并且我國大部分高校均開設(shè)了C 課程,但縱觀大部分高校的整體課程設(shè)計,課件內(nèi)容多、小章節(jié)劃分細(xì)是普遍現(xiàn)象,基礎(chǔ)內(nèi)容較多,但實際應(yīng)用方面略顯不足。國內(nèi)的課程多偏向于講解概念化的東西,例如什么是類、什么是構(gòu)造函數(shù)、什么是OOP等,教材多偏向于介紹解釋性內(nèi)容,卻沒有詳細(xì)說明為什么需要、如何應(yīng)用等。鑒于此,我們將面向?qū)ο蠡靖拍睢 語言和實際綜合案例項目進(jìn)行結(jié)合,打破傳統(tǒng)的知識點(diǎn)講授順序,以案例驅(qū)動知識點(diǎn)的方式來講解面向?qū)ο,并最終以C 語法進(jìn)行落地。
考慮到國內(nèi)大部分課程中面向?qū)ο笏季S與C 語法分離的現(xiàn)狀,我們編寫了這本易于入門的教材,以幫助更多的初學(xué)者更順利地邁進(jìn)面向?qū)ο蟮拇箝T。本教材的特點(diǎn)如下。
基于解決問題的知識架構(gòu)書籍的開發(fā)思路,準(zhǔn)確定位該教材的重點(diǎn)目標(biāo)是培養(yǎng)學(xué)生分析問題、解決問題的能力,面向?qū)ο笏季S能力,項目設(shè)計與建模能力。因此,本教材的編寫主要采用軟件工程模塊化、能力導(dǎo)向的思路,基于解決問題的知識架構(gòu)模式重新構(gòu)建課程知識體系,以案例、任務(wù)為驅(qū)動,結(jié)合探究式模式構(gòu)建核心學(xué)習(xí)內(nèi)容,并使用C 作為最終實現(xiàn)語言,易教易學(xué),效果好。
基于解決問題的知識架構(gòu)模式主要是以提高學(xué)習(xí)者解決問題的思維能力為導(dǎo)向,先建立模型, 不拘泥于編程語法細(xì)節(jié),然后按真實模型演變產(chǎn)生問題,循序漸進(jìn)地引入知識來解決。在學(xué)習(xí)每個模型之前,注重使其與學(xué)習(xí)者已有的知識或模型建立連接,盡量基于同一個案例重構(gòu)或迭代,只有當(dāng)知識與場景不匹配時,才引入新的案例或場景。
基于能力導(dǎo)向的應(yīng)用型人才培養(yǎng)要求進(jìn)行分解,合理設(shè)計案例本教材所涉及的3個綜合案例均由擁有豐富企業(yè)開發(fā)經(jīng)驗的實訓(xùn)教師所設(shè)計,是他們多年教育教學(xué)設(shè)計和軟件開發(fā)的經(jīng)驗與知識積累的結(jié)晶。
3個案例的難易程度不同,從一開始的基礎(chǔ)設(shè)計到最終的綜合提高,每一個案例都有對應(yīng)的設(shè)計模型以及知識點(diǎn),在實現(xiàn)過程中學(xué)生可以根據(jù)不同的項目需求學(xué)習(xí)到C 語法的相關(guān)重點(diǎn)和難點(diǎn),并且整本書采用同一案例不同版本迭代的方式進(jìn)行講解,學(xué)生每學(xué)習(xí)完一個案例版本,便可掌握一些基礎(chǔ)知識的應(yīng)用以及實際的應(yīng)用場景,這種從簡單到復(fù)雜逐漸演化的學(xué)習(xí)路徑,又讓他們可以更輕松地理解知識之間的相互關(guān)系。
基于模塊化的知識結(jié)構(gòu)劃分,合理設(shè)計教材內(nèi)容面向?qū)ο蟪绦蛟O(shè)計(C 語言)是計算機(jī)專業(yè)的核心基礎(chǔ)課程,結(jié)合案例特色,本書共分為三部分。第一部分為設(shè)計,主要針對綜合項目進(jìn)行介紹,引出面向?qū)ο笏季S概念并構(gòu)建面向?qū)ο笏季S模型;第二部分為實踐,將抽象的案例模型實例化,使學(xué)生掌握C 基礎(chǔ)語法;第三部分為提高,培養(yǎng)學(xué)生的綜合編程能力。
本書主要面向的群體是具有一定的C語言編程基礎(chǔ)但從未接觸過或者較少接觸面向?qū)ο蟮膶W(xué)生。全書共分9章,各章節(jié)內(nèi)容安排如下:
第1章主要從公共平臺中下載綜合案例并進(jìn)行演示,在演示的過程中進(jìn)行項目介紹以及角色功能分析。學(xué)完本章內(nèi)容,學(xué)生應(yīng)該能夠清晰地了解該門課程所需完成的項目概況,以及該項目所涉及的角色與功能。
第2章主要從軟件行業(yè)現(xiàn)狀入手,結(jié)合實際項目案例,引入面向?qū)ο蟾拍睿⑼ㄟ^案例分析了解對象之間的行為關(guān)系且加以抽象,最后再通過生活中的案例進(jìn)行思維強(qiáng)化。學(xué)完本章內(nèi)容,學(xué)生應(yīng)該能夠初步建立面向?qū)ο笏季S,針對已有的案例需求,可有意識地進(jìn)行對象區(qū)分與功能抽象。
第3章主要從生活案例開始引入面向?qū)ο蟮母拍睿ㄟ^多個案例的描述培養(yǎng)學(xué)生的對象思維,最后通過UML工具進(jìn)行建模,從而實現(xiàn)面向?qū)ο蟮脑O(shè)計部分。學(xué)完本章內(nèi)容,學(xué)生應(yīng)該能夠從日常生活或者一段項目需求描述中找到所涉及的類與對象,通過UML工具實現(xiàn)具體建模,并繪制出對應(yīng)的類圖、時序圖與用例圖。
第4章主要針對C 的一些基礎(chǔ)語法知識點(diǎn)進(jìn)行講解,同時通過介紹程序設(shè)計語言的發(fā)展史,使學(xué)生對C 語言有一個初步的認(rèn)知;A(chǔ)語法包括:變量的定義與使用、常用的幾種數(shù)據(jù)類型、各類運(yùn)算符的使用、控制語句中的判斷語句以及循環(huán)語句的使用、一維數(shù)組的定義與查找遍歷、函數(shù)與指針。
第5章主要針對設(shè)計部分進(jìn)行代碼落地,將所設(shè)計的內(nèi)容通過C 編程語言最終實現(xiàn)出來,要求學(xué)生能夠?qū)⒅八鶎W(xué)過的基礎(chǔ)語法與思維建模很好地結(jié)合到一起,完成一個完整項目的開發(fā)。
第6章主要是C 語法的提高與擴(kuò)展。由于項目需求越來越大,以及需求的多變性,所以需要使用更高級的語法知識來實現(xiàn)項目。本章主要包含以下內(nèi)容:成員函數(shù)的定義與實現(xiàn)、函數(shù)的重載、構(gòu)造函數(shù)的聲明與使用以及面向?qū)ο蟮姆庋b機(jī)制,并通過知識點(diǎn)的整合最終實現(xiàn)一個小型項目。
第7章主要通過對已有項目進(jìn)行優(yōu)化,根據(jù)項目實現(xiàn)的合理性提出繼承概念并實現(xiàn)。在實現(xiàn)的過程中講解單繼承的概念及其存在意義,以及實現(xiàn)單繼承的C 語法及其應(yīng)用。學(xué)完本章內(nèi)容,學(xué)生應(yīng)該能夠運(yùn)用繼承的思想分析項目,抽取出繼承類和派生類,理解并掌握單繼承的概念以及應(yīng)用方法,最終能用C 代碼實現(xiàn)基于繼承的項目。
第8章主要通過解決實際應(yīng)用中的一些擴(kuò)展問題,引出
目 錄
前言
教學(xué)建議
第一部分 設(shè) 計
第1章 綜合項目初體驗 2
1.1 項目下載地址及安裝操作說明 2
1.2 綜合項目介紹 2
1.2.1 綜合實例1LostCraft游戲項目介紹 2
1.2.2 綜合實例2HR服務(wù)平臺項目介紹 5
1.3 項目角色功能分析 7
1.3.1 綜合實例1LostCraft游戲項目的角色功能分析 7
1.3.2 綜合實例2HR服務(wù)平臺項目的角色功能分析 9
1.4 本章小結(jié) 10
1.5 本章習(xí)題 11
第2章 面向?qū)ο笏季S建立 12
2.1 面向?qū)ο蟾拍畹囊? 12
2.1.1 軟件行業(yè)現(xiàn)狀 12
2.1.2 何為面向?qū)ο? 13
2.2 類與對象 15
2.2.1 綜合實例1LostCraft游戲項目中對象間的行為關(guān)系 15
2.2.2 綜合實例1LostCraft游戲項目中類的抽象 16
2.2.3 類與對象的概念和關(guān)系 17
2.3 本章小結(jié) 20
2.4 本章習(xí)題 21
第3章 面向?qū)ο笏季S建模 22
3.1 UML概述 22
3.1.1 類圖 22
3.1.2 時序圖 24
3.1.3 用例圖 26
3.2 項目實現(xiàn)的UML設(shè)計 27
3.2.1 綜合實例1LostCraft游戲項目的UML設(shè)計 27
3.2.2 綜合實例2HR服務(wù)平臺項目的UML設(shè)計 32
3.3 本章小結(jié) 41
3.4 本章習(xí)題 42
第二部分 實 踐
第4章 程序設(shè)計語言C 初識 44
4.1 C 概述 44
4.2 第一個C 程序 44
4.2.1 VS 2010工具介紹 44
4.2.2 編寫第一個C 程序helloworld 45
4.2.3 代碼解釋 49
4.2.4 程序注釋 50
4.3 C 編譯過程 51
4.4 C 編程邏輯 52
4.4.1 程序中的簡單數(shù)據(jù)存儲 52
4.4.2 輸入與輸出 55
4.4.3 控制語句 57
4.4.4 一維數(shù)組 63
4.4.5 函數(shù) 66
4.4.6 指針與引用 69
4.5 本章小結(jié) 72
4.6 本章習(xí)題 73
第5章 類與對象的實現(xiàn) 75
5.1 綜合實例1LostCraft游戲項目 75
5.1.1 類的構(gòu)成 75
5.1.2 技能類的聲明與實現(xiàn) 76
5.1.3 對象實例化 79
5.1.4 其他類的聲明 81
5.1.5 對象間的協(xié)作實現(xiàn) 84
5.2 綜合實例2HR服務(wù)平臺項目 90
5.2.1 類的聲明與實現(xiàn) 90
5.2.2 對象實例化之new運(yùn)算符 92
5.2.3 對象資源回收之delete運(yùn)算符 94
5.2.4 對象間的協(xié)作實現(xiàn) 95
5.3 本章小結(jié) 97
5.4 本章習(xí)題 98
第6章 深入學(xué)習(xí)面向?qū)ο蠛瘮?shù) 100
6.1 綜合實例1LostCraft游戲項目 100
6.1.1 成員函數(shù)介紹 100
6.1.2 函數(shù)重載 100
6.1.3 構(gòu)造函數(shù) 102
6.1.4 C 封裝機(jī)制的private權(quán)限 104
6.2 綜合實例2HR服務(wù)平臺項目 106
6.2.1 封裝技巧的get和set方法 106
6.2.2 引用技巧的this指針 108
6.2.3 構(gòu)造函數(shù)的重載 108
6.2.4 析構(gòu)函數(shù) 110
6.2.5 其他核心方法的代碼實現(xiàn) 111
6.3 本章小結(jié) 117
6.4 本章習(xí)題 118
第7章 繼承 121
7.1 綜合實例1LostCraft游戲項目 121
7.1.1 繼承的概念 121
7.1.2 單繼承的聲明與實現(xiàn) 122
7.2 綜合實例2HR服務(wù)平臺項目 124
7.2.1 巧用繼承中的構(gòu)造函數(shù) 125
7.2.2 訪問權(quán)限的protected關(guān)鍵字 126
7.3 本章小結(jié) 127
7.4 本章習(xí)題 128
第8章 多態(tài) 129
8.1 綜合實例1LostCraft游戲項目 129
8.1.1 多態(tài)的概念 129
8.1.2 靜態(tài)多態(tài)的函數(shù)多態(tài) 129
8.1.3 動態(tài)多態(tài)的虛函數(shù)實現(xiàn) 130
8.2 綜合實例2HR服務(wù)平臺項目 135
8.2.1 多態(tài)的實現(xiàn) 135
8.2.2 純虛函數(shù)與抽象類 136
8.3 本章小結(jié) 138
8.4 本章習(xí)題 139
第三部分 提 高
第9章 綜合項目鍛煉系統(tǒng) 142
9.1 系統(tǒng)項目介紹 142
9.2 系統(tǒng)項目角色功能分析 142
9.2.1 普通用戶 142
9.2.2 群主 144
9.2.3 私教/教練 145
9.3 系統(tǒng)項目的UML設(shè)計 146
9.3.1 用例圖 146
9.3.2 時序圖 147
9.3.3 類圖及說明 153
9.4 本章小結(jié) 180
9.5 本章習(xí)題 181
附錄 183
附錄A LostCraft游戲的實現(xiàn)代碼 183
附錄B HR服務(wù)平臺的實現(xiàn)代碼 192
附錄C 綜合項目 鍛煉系統(tǒng)的實現(xiàn)代碼 200
參考文獻(xiàn) 228