本書是對中高職貫通計算機網(wǎng)絡技術專業(yè)軟件編程技術中所有面向對象編程(OOP)的知識及技能的全面回顧和總結。本書的編寫模式體現(xiàn)了“做中學,學中做,做中教,教中做”的做學教一體職業(yè)教育教學特色,內(nèi)容上采用了“項目—任務—綜合實訓”的結構體系,從軟件編程的實際開發(fā)需求與實踐應用引入教學項目,從而培養(yǎng)學生能完成總體的項目設計、具體的工作任務實施及舉一反三地解決實際問題的技能。
本書包含了10個項目,54個軟件編程任務。書中全部項目及具體的每個任務都緊密貼近現(xiàn)代軟件編程中常用的C++、VB.NET、Java、C#、Python這5種常用的OOP語言,并與真實的工作過程相一致,完全符合企業(yè)的需求,貼近軟件開發(fā)的實際。
本書內(nèi)容翔實,結構新穎,實用性強,可用作中職、高職、中高職貫通的計算機網(wǎng)絡技術專業(yè)和非計算機專業(yè)的軟件編程項目實踐教材,也可供參加全國1+X證書試點考試的培訓教材。同時,本書還可作為各類全國及市級技能大賽計算機相關項目中軟件編程模塊的訓練教材。
本書配有豐富的微課、代碼等資源。
在21世紀的今天,人工智能技術快速發(fā)展,正慢慢融入人們的學習、工作和生活中,并以前所未有的速度滲透到社會的各個領域。通過人工智能技術來獲取大量的信息,是人們每天工作和學習必不可少的活動。這對現(xiàn)有的中專、高職、中高職貫通計算機網(wǎng)絡技術專業(yè)的教學模式提出了新的挑戰(zhàn),同時也帶來了前所未有的機遇。深化教學改革,尋求行之有效的育人途徑,培養(yǎng)高素質計算機軟件編程人員,已是當務之急。
本教材針對中職、高職、中高職貫通教育的特點,在總結多年教學和科研實踐經(jīng)驗的基礎上,針對精品課程資源共享課程建設和國家“十三五”規(guī)劃教材建設而設計。以知識點分解并分類來降低學生學習抽象理論的難度。以項目分解、由淺入深、逐步分解的案例及注釋來提高學生對各種常用編程語言的實踐能力。
本教材針對中高職貫通計算機網(wǎng)絡技術專業(yè)的主干編程課程,根據(jù)教學大綱要求,通過對各類項目的分析與設計,及各種項目及任務的實踐,使讀者能全面、系統(tǒng)地掌握跨語言軟件編程的基本知識與技能,提高獨立分析與解決問題的能力。另外,本教材采用了“項目導向,任務驅動、案例教學”方式編寫,具有較強的實用性和先進性。
全書共分為10個軟件編程大項目,分別為:實現(xiàn)OOP中的封裝性,實現(xiàn)OOP中的一般函數(shù);實現(xiàn)OOP中的構造函數(shù)與析構函數(shù);實現(xiàn)OOP中的屬性過程;實現(xiàn)OOP中的主函數(shù)帶參數(shù);實現(xiàn)OOP中的異常處理;實現(xiàn)OOP中的單繼承;實現(xiàn)OOP中的多態(tài)與抽象類;實現(xiàn)OOP中的多態(tài)與接口;實現(xiàn)OOP中的文件讀寫操作。
本教材編寫的目標是:從國家人工智能發(fā)展的戰(zhàn)略角度出發(fā),研究如何通過教材及相關課程資源建設助力人工智能方向下軟件工程師人才的培養(yǎng);針對人工智能人才的分層,將研究重點放在第五層基礎最龐大的軟件工程師的培養(yǎng)上;針對人工智能時代下軟件開發(fā)所涉及的編程語言眾多的問題,研究常用的5種編程語言,通過橫向對比人工智能常用的C++、VB.NET、C#、Java、Python語言的特性,來培養(yǎng)學生跨語言解決實際問題的能力;針對軟件工程師培訓周期長的問題,開發(fā)了能夠跨越5種編程語言的教材,讓學生快速掌握常用的5種編程語言,提高其在人才市場上的競爭力;借鑒電商領域的O2O模式,研究如何在線下開發(fā)融合線上的項目源代碼等課程資源,來助力學生提高其學習效果。希望通過本教材,能更新教師的傳統(tǒng)教學觀念,牢固建立以學生為主體、以能力為本位的終身教育理念。
本教材編寫的理念是:轉變課程觀念,創(chuàng)新課程體系,引入跨語言教學設計,在人工智能時代下跨語言軟件編程教學過程中探索和設計富有實際意義的項目庫,開發(fā)出符合實際教學需求的教材。在課題研究過程中,及時總結優(yōu)秀的教學項目,建立具有教學實踐價值的項目庫以及優(yōu)秀的項目解決方案,不斷加強和完善項目源代碼等課程資源建設,讓學生隨時隨地都能學習課程,形成師生互動,更大程度地提高學生學習的參與度和積極性;注重實踐為先,深入教學實踐一線和項目學習的全過程,在對跨語言編程理論體系研究的同時,更注重建立具有實際應用價值的項目庫,希望對教材開發(fā)提供實際的幫助和指導;通過教材開發(fā),讓學生學會自主學習、跨語言學習,使學生面對認知復雜的真實世界的情境,主動去搜集和分析有關的信息資料,在問題解決中進行學習,提倡學中做與做中學,并在復雜的真實調試環(huán)境中完成任務;教材設計內(nèi)容,以團隊協(xié)作為重,基于跨語言的學習必然涉及分工合作。本教材無論是在學生項目學習的過程,還是教師研究、備課和教學的過程中,都充分利用分組學習的功能,體現(xiàn)團隊協(xié)作的優(yōu)勢;教材開發(fā)依托校企合作的相關企業(yè),本課題組特別邀請了長期從事軟件項目開發(fā)的人員參與。一方面,依托企業(yè)長期項目開發(fā)的經(jīng)驗和積累,為本課題研究提供相關項目的內(nèi)容,參與完成教學項目庫的建設;另一方面,加強項目實踐的規(guī)范性指導,使我們的教材設計與開發(fā)更貼近于實際市場要求;在課題研究過程中,我們將充分運用現(xiàn)有的信息化手段,及時總結優(yōu)秀的教學項目,建立具有教學實踐價值的項目庫以及優(yōu)秀的項目解決方案,不斷加強和完善教材建設,并讓學生隨時隨地都能學習跨語言編程,形成師生互動,更大程度地提高學生學習的參與度和積極性。
本教材在開發(fā)時有目的、有計劃嚴格按照“調查篩選—案例論證—制訂任務—實踐研究—交流總結—代碼調試”的程序進行。先對現(xiàn)狀做全面了解,明確研究的內(nèi)容、方法和步驟,再組織本教材開發(fā)組教師學習相關的內(nèi)容、任務和具體的操作研究步驟。通過一系列的應用研究活動,了解了C++、VB.NET、C#、Java、Python這5種語言在語法上的區(qū)別,建立了這5種語言的項目比較教學路徑體系,依托校企業(yè)合作實驗研究平臺,完成教材,以此推動教材教法的改革。
本教材每個項目中的任務,均由軟件公司的實際需求來引出。
每個項目由核心概念、項目描述、技能目標、工作任務引出。
項目下每一個任務由任務描述、任務分析、任務實施、任務小結、相關知識與技能、任務拓展組成。
每個項目的最后都有項目綜合比較表、項目綜合實訓(項目描述、項目分析、項目實施、項目小結)、項目實訓評價表。
書中所有任務及項目綜合實訓的源代碼、PPT課件都可以從中國鐵道出版社有限公司網(wǎng)站http://www.tdpress.com/51eds下載。
本書的編排特點如下:
(1)采用情境式分類教學,再輔以項目導向、任務驅動、案例教學,這比較符合“以就業(yè)為導向”的職業(yè)教育原則。
(2)充分體現(xiàn)了“做中學,學中做,做中教,教中做”的職業(yè)教育理念,強調以直接經(jīng)驗的形式來掌握融于各項實踐行動中的知識和技能,方便學生自主訓練,并獲得實際工作中的情境式真實體驗。
(3)書中所有實戰(zhàn)任務均在VS最新版、Eclipse和Python集成開發(fā)環(huán)境上調試通過,能較好地對實際工作中的項目和具體任務進行實戰(zhàn)。并在內(nèi)容上由基本到擴展,由簡單到復雜,由單一任務到綜合項目設計,符合學生由淺入深的學習習慣,幫助學生輕松掌握系統(tǒng)規(guī)范的計算機軟件編程知識。
本教材設計了10個工程項目,全面而系統(tǒng)地介紹了面向對象編程技術中(C++、VB.NET、Java、C#、Python)的關鍵技能,使用本書建議安排72學時,每個項目及任務具體學時建議安排如下:
學時分配表
項 目 內(nèi) 容 學 時 分 配
講授/% 實訓/% 學時
項目1 20 80 10
項目2 20 80 6
項目3 20 80 6
項目4 20 80 6
項目5 20 80 6
項目6 20 80 6
項目7 20 80 6
項目8 20 80 6
項目9 20 80 6
項目10 20 80 6
復習及考試 4(復習) 4(考試) 8
總計 72
本書由上海神州數(shù)碼、上海安致信息科技有限公司、上海商業(yè)會計學校的陳珂老師姜冬潔老師、提供了大量的實踐素材,上海商業(yè)會計學校的顧洪老師制作了與書配套的PPT,在此我向他們表示深深的感謝。由于編者水平有限,書中難免存在缺點和不足之處,歡迎廣大讀者批評指正,我的郵箱是:peliuz@126.com。
劉 丹
2020.1
劉丹,上海商業(yè)會計學校教師,碩士研究生, 2011至今 已完成G家級課題兩項并獲一個全國一等獎,一個全國三等獎 ,已完成區(qū)級課題一項和校級課題兩項并發(fā)表10多篇論文,其中論文獲市級一等獎,二等獎和三等獎,并出版二本教材,編著三本校本教材,此外正在開展的G家級課題,區(qū)級課題,市級課題各一項
項目一 實現(xiàn)OOP中的封裝性 1
任務一 實現(xiàn)HTML語言中的封裝性 1
任務二 實現(xiàn)SQL語言中的封裝性 4
任務三 實現(xiàn)XML語言中的封裝性 9
任務四 實現(xiàn)C語言中的封裝性 12
任務五 實現(xiàn)C++語言中的封裝性 16
任務六 實現(xiàn)VB.NET語言中的封裝性 20
任務七 實現(xiàn)Java語言中的封裝性 23
任務八 實現(xiàn)C#語言中的封裝性 26
任務九 實現(xiàn)Python語言中的封裝性 29
項目一綜合比較表 33
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)的封裝性 35
項目實訓評價表 44
評價等級說明表 45
項目二 實現(xiàn)OOP中的一般函數(shù) 46
任務一 實現(xiàn)C++語言中的一般函數(shù) 46
任務二 實現(xiàn)VB.NET語言中的一般函數(shù) 50
任務三 實現(xiàn)Java語言中的一般函數(shù) 53
任務四 實現(xiàn)C#語言中的一般函數(shù) 56
任務五 實現(xiàn)Python語言中的一般函數(shù) 59
項目二綜合比較表 61
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的一般函數(shù) 62
項目實訓評價表 68
評價等級說明表 68
項目三 實現(xiàn)OOP中的構造函數(shù)與析構函數(shù) 69
任務一 實現(xiàn)C++語言中的構造函數(shù)與析構函數(shù) 69
任務二 實現(xiàn)VB.NET語言中的構造函數(shù)與析構函數(shù) 73
任務三 實現(xiàn)Java語言中的構造函數(shù)與析構函數(shù) 75
任務四 實現(xiàn)C#語言中的構造函數(shù)與析構函數(shù) 78
任務五 實現(xiàn)Python語言中的構造函數(shù)與析構函數(shù) 81
項目三綜合比較表 84
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的構造函數(shù)與析構函數(shù) 84
項目實訓評價表 90
評價等級說明表 90
項目四 實現(xiàn)OOP中的屬性過程 91
任務一 實現(xiàn)C++語言中的屬性過程 91
任務二 實現(xiàn)VB.NET語言中的屬性過程 95
任務三 實現(xiàn)Java語言中的屬性過程 99
任務四 實現(xiàn)C#語言中的屬性過程 103
任務五 實現(xiàn)Python語言中的屬性過程 108
項目四綜合比較表 110
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的屬性過程 111
項目實訓評價表 119
評價等級說明表 120
項目五 實現(xiàn)OOP中的主函數(shù)帶參數(shù) 121
任務一 實現(xiàn)C++語言中的主函數(shù)帶參數(shù) 121
任務二 實現(xiàn)VB.NET語言中的主函數(shù)帶參數(shù) 124
任務三 實現(xiàn)Java語言中的主函數(shù)帶參數(shù) 127
任務四 實現(xiàn)C#語言中的主函數(shù)帶參數(shù) 130
任務五 實現(xiàn)Python語言中的主函數(shù)帶參數(shù) 133
項目五綜合比較表 134
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的主函數(shù)帶參數(shù) 135
項目實訓評價表 142
評價等級說明表 142
項目六 實現(xiàn)OOP中的異常處理 143
任務一 實現(xiàn)C++語言中的異常處理 143
任務二 實現(xiàn)VB.NET語言中的異常處理 151
任務三 實現(xiàn)Java語言中的異常處理 157
任務四 實現(xiàn)C#語言中的異常處理 164
任務五 實現(xiàn)Python語言中的異常處理 170
項目六綜合比較表 173
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的異常處理 175
項目實訓評價表 188
評價等級說明表 188
項目七 實現(xiàn)OOP中的單繼承 189
任務一 實現(xiàn)C++語言中的單繼承 189
任務二 實現(xiàn)VB.NET語言中的單繼承 197
任務三 實現(xiàn)Java語言中的單繼承 204
任務四 實現(xiàn)C#語言中的單繼承 212
任務五 實現(xiàn)Python語言中的單繼承 219
項目七綜合比較表 222
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的單繼承 223
項目實訓評價表 237
評價等級說明表 237
項目八 實現(xiàn)OOP中的多態(tài)與抽象類 238
任務一 實現(xiàn)C++語言中的多態(tài)與抽象類 238
任務二 實現(xiàn)VB.NET語言中的多態(tài)與抽象類 244
任務三 實現(xiàn)Java語言中的多態(tài)與抽象類 249
任務四 實現(xiàn)C#語言中的多態(tài)與抽象類 254
任務五 實現(xiàn)Python語言中的多態(tài)與抽象類 259
項目八綜合比較表 261
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的多態(tài)與抽象類 262
項目實訓評價表 269
評價等級說明表 269
項目九 實現(xiàn)OOP中的多態(tài)與接口 270
任務一 實現(xiàn)C++語言中的多態(tài)與接口 270
任務二 實現(xiàn)VB.NET語言中的多態(tài)與接口 276
任務三 實現(xiàn)Java語言中的多態(tài)與接口 281
任務四 實現(xiàn)C#語言中的多態(tài)與接口 285
任務五 實現(xiàn)Python語言中的多態(tài)與接口 291
項目九綜合比較表 294
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的多態(tài)與接口 295
項目實訓評價表 299
評價等級說明表 299
項目十 實現(xiàn)OOP中的文件讀寫操作 300
任務一 實現(xiàn)C++語言中的文件讀寫操作 300
任務二 實現(xiàn)VB.NET語言中的文件讀寫操作 306
任務三 實現(xiàn)Java語言中的文件讀寫操作 313
任務四 實現(xiàn)C#語言中的文件讀寫操作 325
任務五 實現(xiàn)Python語言中的文件讀寫操作 337
項目十綜合比較表 340
項目綜合實訓 實現(xiàn)家庭管理系統(tǒng)中的文件讀寫操作 342
項目實訓評價表 343
評價等級說明表 344
參考文獻 344