




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟪绦蛟O(shè)計(jì)復(fù)習(xí)資料第2章面向?qū)ο笏季S建立面向?qū)ο蟪绦蛟O(shè)計(jì)的特征:①模塊化;②抽象化;③封裝;④可組合;⑤繼承;⑥軟件持續(xù)使用時(shí)間更長(zhǎng)。面向?qū)ο笏季S分為兩步:一是需求分析,識(shí)別出有哪些對(duì)象,它們分別做什么事(who&&what);二是如何利用對(duì)象協(xié)作完成一件完整的事情(how)。?類與對(duì)象的概念和關(guān)系:1)類是面向?qū)ο蟪绦蛟O(shè)計(jì)方法的核心,利用類可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的封裝和隱蔽。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,程序模塊是由類構(gòu)成。類是對(duì)邏輯相關(guān)的函數(shù)與數(shù)據(jù)的封裝,它是對(duì)問題的抽象描述。C++的語(yǔ)法提供了對(duì)自定義類型的支持,這就是類。正如基本數(shù)據(jù)類型中隱含的數(shù)據(jù)和操作,因此在定義一個(gè)類時(shí)也要說明數(shù)據(jù)和操作。2)類實(shí)際上是一種抽象機(jī)制,它描述了一類為問題的屬性和行為,即類描述了一類對(duì)象的數(shù)據(jù)存儲(chǔ)和操作特征。每一個(gè)怪物都有一些共同的靜態(tài)特征,這些共同的特征抽象到類中,統(tǒng)稱為該類的屬性,屬性通過聲明普通變量來實(shí)現(xiàn)。每一個(gè)怪物都有一些共同的動(dòng)態(tài)行為,這些共同的行為抽象到類中,統(tǒng)稱為該類的操作,操作通過聲明普通變量來實(shí)現(xiàn)。怪物類偽類圖:偽類圖含義UML圖怪物{名稱;級(jí)別;?攻擊力;」生命值HP;初始化怪物;怪物進(jìn)行攻擊;.判斷怪物是否存意)類名邊界開始怪物屬性操作名稱;級(jí)別;攻擊力;生命值HP;邊界結(jié)束初始化怪物;怪物進(jìn)行攻擊;判斷怪物是否存活;第3章面向?qū)ο笏季S建模UML:統(tǒng)一建模語(yǔ)言或標(biāo)準(zhǔn)建模語(yǔ)言1)類圖:常見的UML圖,顯示了建模的靜態(tài)結(jié)構(gòu),特別是模型中存在的類、類的內(nèi)部結(jié)構(gòu)以及他們與其他類的關(guān)系等。類與類之間的常見關(guān)系:①依賴關(guān)系:依賴關(guān)系的偶然性和臨時(shí)性一一人依賴船②聚合關(guān)系:整體與局部之間是可別離的③繼承關(guān)系:含義:兒子類繼承父親類,不僅繼承所有屬性和行為,還自己拓展2)時(shí)序圖:也稱為序列圖或循序圖或順序圖,是一種UML交互圖,它通過描述對(duì)象之間發(fā)送消息的時(shí)間順序顯示多個(gè)對(duì)象之間的動(dòng)態(tài)協(xié)作。類圖表示“不因時(shí)間而變化的局部(靜態(tài)關(guān)系)”;時(shí)序圖表示“隨時(shí)間而變化的局部(動(dòng)態(tài)行為)”時(shí)序圖的元素組成和繪制流程:對(duì)象:類的實(shí)例;三種狀態(tài)一一激活、運(yùn)行、銷毀生命線:對(duì)象在一段時(shí)間內(nèi)的存在激活:對(duì)象操作的執(zhí)行消息:對(duì)象之間的通信機(jī)制(五類:遞歸調(diào)用、普通操作、返回消息、導(dǎo)步調(diào)用)3)用例圖:指由參與者、用例以及他們之間的關(guān)系構(gòu)成的用于描述系統(tǒng)功能的視圖。第4章程序設(shè)計(jì)語(yǔ)言C++初識(shí)C語(yǔ)言:是一門面向過程、抽象化的通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開發(fā)。C++:是C語(yǔ)言的繼承,它既可以進(jìn)行C語(yǔ)言的過程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。#include<iostream>include預(yù)編譯命令,將有關(guān)的“頭文件”包括到用戶源文件中。iostream是個(gè)文件庫(kù),其表小輸入輸出流usingnamespacestd\std是一種命名空間,屬于iostream庫(kù),在不同的命名空間下的函數(shù)可以重名intmain。定義主函數(shù),必須有且僅有一個(gè)main函數(shù)作為程序的入口。{cout?nHelloWorld!n?ezt6//;<<表示流的方向;endl表示回車換行°system()函數(shù)用來調(diào)用系統(tǒng)命令;"pause”命令表示暫停。return0;}函數(shù)結(jié)束的時(shí)候要有返回值。include”文件名“一先尋找工程當(dāng)前目錄,找不到再尋找安裝目錄。適用于導(dǎo)入用戶自定義的、處在工程當(dāng)前目錄下的文件。include〈文件名〉一不尋找工程當(dāng)前目錄,直接尋找安裝目錄。適用于導(dǎo)入標(biāo)準(zhǔn)庫(kù)(文件名)中的文件。程序注釋:?jiǎn)涡凶⑨尅?/”和多行注釋”/*多行內(nèi)容*/”C++編譯過程經(jīng)歷步驟:1、用C++語(yǔ)言編寫程序。2、對(duì)源程序進(jìn)行編譯。包括錯(cuò)誤(Error)和警告(Warning)3、將目標(biāo)文件連接起來。4、執(zhí)行程序。5、分析運(yùn)行結(jié)果。變量:程序運(yùn)行過程中其值可以改變。必須先定義后使用,區(qū)分大小寫;常量:程序運(yùn)行過程中其值不能改變。分類:整型常量、實(shí)型常量、字符型常量、字符串常量和符號(hào)常量。變量定義:“變量類型變量名”常量定義:"const數(shù)據(jù)類型常量名「數(shù)值”?數(shù)據(jù)類型:基本數(shù)據(jù)類型int整數(shù),在目前絕大多數(shù)機(jī)器上占4個(gè)字節(jié)float單精度浮點(diǎn)數(shù),4個(gè)字節(jié)double雙精度浮點(diǎn)數(shù),8個(gè)字節(jié)char字符,1個(gè)字節(jié),表示256個(gè)ASCII字符,或.128?127的整數(shù)數(shù)據(jù)類型修飾符shortint簡(jiǎn)寫short,短整數(shù),2個(gè)字節(jié)longint簡(jiǎn)寫long,長(zhǎng)整數(shù),4個(gè)字節(jié)unsigned用來修飾char、int、short和long,無符號(hào)整數(shù)(用0)?string字符串類型,需要預(yù)編譯(#include〈string〉)數(shù)據(jù)類型字節(jié)數(shù)取值范圍數(shù)據(jù)類型字節(jié)數(shù)取值范圍int4-231?231-1unsignedint40?232-1char1-128?127unsignedchar10-255long4-231?231-1unsignedlong40?232-1short2-32768?32767unsignedshort20?65535float4double8-L7e308?L7e308
舛■&付節(jié):ZZ賦值符號(hào)右邊的值賦給左邊????域作用符?輸出操作符將數(shù)據(jù)打印輸出輸出流:std:coutv<"輸出內(nèi)容"v<std::endl?輸入操作符接收輸入數(shù)據(jù)到變量輸入流:std:cin>>“變量”》std::endl控制語(yǔ)句:條件判斷語(yǔ)句if(條件){語(yǔ)句體;}if(條件){語(yǔ)句體1;}else{語(yǔ)句體2;}if(條件1){語(yǔ)句體1;}elseif(條件2){語(yǔ)句體2;}else{語(yǔ)句體3;}switch(表達(dá)式){case常量表達(dá)式1:滿足常量表達(dá)式1時(shí)執(zhí)行的語(yǔ)句;case常量表達(dá)式2:滿足常量表達(dá)式2時(shí)執(zhí)行的語(yǔ)句;default:以上都不滿足時(shí)執(zhí)行的語(yǔ)句;}easel執(zhí)行完后繼續(xù)執(zhí)行case2循環(huán)執(zhí)行語(yǔ)句for(循環(huán)初始值福環(huán)條件,循環(huán)語(yǔ)句)(循環(huán)體;}while(循環(huán)條件){循環(huán)體;}do{循環(huán)體;}while(循環(huán)條件)可能不會(huì)執(zhí)行至少執(zhí)行一次轉(zhuǎn)向語(yǔ)句break;提前結(jié)束當(dāng)前循環(huán)或條件判斷continue;結(jié)束本次循環(huán),進(jìn)入下一次循環(huán)指針與引用:指針一一存儲(chǔ)的信息是對(duì)象在內(nèi)存中的地址。通過指針,可以間接地訪問對(duì)象。引用一一是一個(gè)對(duì)象的別名,系統(tǒng)不為引用分配內(nèi)存空間,對(duì)引用的改動(dòng)就是對(duì)目標(biāo)對(duì)象的改動(dòng)。&:取變量地址;*:取指針?biāo)傅淖兞康闹担坏膬蓚€(gè)含義:1、取該變量的地址2、表示引用第5章類與對(duì)象的實(shí)現(xiàn)?類的構(gòu)成通過對(duì)LostCraft游戲的分析,別離出多個(gè)對(duì)象,并抽象成4個(gè)類:英雄類、技能類、怪物類、場(chǎng)景類
一個(gè)類由屬性和操作兩個(gè)局部組成:具有相同特性(屬性)和行為(操作、方法)的對(duì)象的抽象就是類;類具有屬性,它是對(duì)象狀態(tài)的抽象,用數(shù)據(jù)結(jié)構(gòu)(普通變量等)來描述類的屬性;類具有操作,它是對(duì)象行為的抽象,用操作名和實(shí)現(xiàn)該操作的方法(函數(shù))來描述。類的實(shí)現(xiàn)與聲明定義類的一般形式:classcRectangleclass<類名〉{public:{訪問權(quán)限:doublelength;//矩形長(zhǎng)doublewidth;〃矩形寬byter,g,b;〃矩形顏色屬性;doublecircumference();〃求矩形周長(zhǎng)doublearea();};〃求矩形面積操作;}class是定義類的關(guān)鍵字,表示現(xiàn)在要定義個(gè)類;〈類名〉為一個(gè)合法的標(biāo)識(shí)符,是程序設(shè)計(jì)者為類定義的名稱,該類的命名規(guī)范與變量的命名規(guī)范相同訪問權(quán)限用于標(biāo)出所使用的屬性和方法的相關(guān)權(quán)限一對(duì)大括號(hào)表示類的邊界,邊界內(nèi)是類的說明局部,稱為類體在類體的后面有一個(gè)分號(hào),表示類定義的結(jié)束類的聲明全部寫在頭文件(.h)中,而實(shí)現(xiàn)的局部寫在源文件(?cpp)文件中#pragmaonce#include<string>usingnamespacestd;classCraftsmanship{public:Craftsmanship(void);〃構(gòu)造函數(shù)?Craftsmanship(void);〃析構(gòu)函數(shù)stringname;〃技能名稱intconsumption;〃技能所消耗的魔法值intATK;〃技能攻擊力intcooling;//技能規(guī)定的冷卻時(shí)間intavailable;//技能所需英雄等級(jí)intaction;〃技能已冷卻回合數(shù));class:表示定義一個(gè)類;Craftsmanship:表力、類名;public:表小成貝的訪問權(quán)限,①public表示公共的,可以在類外部訪問;②private表小私有的,只能在類內(nèi)部訪問;③protected表小保護(hù)的,只能在類和同包中訪問;如果沒有寫訪問權(quán)限,那么默認(rèn)私有的private;大括號(hào)結(jié)尾處的分號(hào)表示整個(gè)類定義完成;要點(diǎn):如果一個(gè)類僅僅被聲明了卻沒有實(shí)現(xiàn)的話,不可以使用;在一個(gè)類中,屬性變量只能被聲明,不可以進(jìn)行初始化;在一個(gè)類中,函數(shù)在類中聲明,函數(shù)體可以在類中定義(實(shí)現(xiàn)),也可以在類外面定義;但為了提高程序可讀性,通常在類中只能做聲明而不實(shí)現(xiàn)。?對(duì)象實(shí)例化定義格式:存儲(chǔ)類型V類名〉V對(duì)象名對(duì)象名1|斜體字為非必須,粗體下劃線為必須存儲(chǔ)類型可選,默認(rèn)為自動(dòng)類型(auto);〈類名〉為用戶自定義的類的名字;〈對(duì)象名〉為要?jiǎng)?chuàng)立對(duì)象的名字。一次可創(chuàng)立多個(gè)對(duì)象,用逗號(hào)隔開賦值格式:對(duì)象名.屬性名=具體數(shù)值|代表引用對(duì)象中某一成員還能調(diào)用對(duì)象中的函數(shù)(構(gòu)造函數(shù)和析構(gòu)函數(shù)除外)#pragmaonce#include"Craftsmanship.h"#includeHMonster.hHclassHeroprivate:#pragmaonce:能夠保證當(dāng)前的頭文件只被編譯一次,防止多次編譯。#includenCraftsmanship.hM:表小引入頭文件classHero:該語(yǔ)句是類的前置聲明,防止出現(xiàn)死循環(huán)引用現(xiàn)象。private:表示私有的,即變量iAttack和函數(shù)settlement(intlevel)只能由英雄類中的函數(shù)訪問,其他位置無法訪問。?對(duì)象間的協(xié)作實(shí)現(xiàn)如果函數(shù)在類外實(shí)現(xiàn),那么必須在函數(shù)名前加上類名,否那么不能實(shí)現(xiàn)”::"是作用域限定符,用來聲明函數(shù)屬于哪一類;類必須先在類中做原型聲明,然后才能在類外實(shí)現(xiàn);system(npsudrn):等待用戶按鍵然后返回,按任意鍵繼續(xù);system(nclsn):清屏操作關(guān)鍵字new:①在堆上獲得一塊內(nèi)存空間、②調(diào)用構(gòu)造函數(shù)、③返回正確的指針棧(堆棧)是限定僅在表尾進(jìn)行插入和刪除操作的線性表。單獨(dú)存放數(shù)據(jù)的那塊內(nèi)存稱為“堆。存儲(chǔ)指針那塊內(nèi)存稱為“?!盪ser*Lucy=newUser():聲明一個(gè)指針對(duì)象Lucy,在名稱堆區(qū)保存Lucy這個(gè)對(duì)象的所有信息,在棧中保存Lucy的堆地址。delete對(duì)象名;|銷毀之前引用的對(duì)象第6章深入學(xué)習(xí)面對(duì)對(duì)象函數(shù)成員函數(shù):屬于一個(gè)類的函數(shù);用于完成對(duì)象的初始化類函數(shù):類的成員函數(shù),屬于一個(gè)類的成員,出現(xiàn)在類體中。?函數(shù)重載:又稱函數(shù)名重載或函數(shù)重名,是指同一個(gè)函數(shù)名可以有多種函數(shù)實(shí)現(xiàn),或者說實(shí)現(xiàn)不同功能細(xì)節(jié)的函數(shù)可以具有相同的函數(shù)名。實(shí)現(xiàn)函數(shù)重載的條件為:參數(shù)列表不同。函數(shù)重載voidshowlnfo();voidshowlnfo(stringname);voidshowlnfo(stringname);voidshowlnfo(intnum);①參數(shù)個(gè)數(shù)不同②參數(shù)類型不同?構(gòu)造函數(shù):一種特殊的成員函數(shù),是由系統(tǒng)在創(chuàng)立對(duì)象時(shí)自動(dòng)調(diào)用的,且構(gòu)造函數(shù)不允許被手動(dòng)調(diào)用。特點(diǎn):沒有返回值,與類同名;優(yōu)勢(shì):減輕代碼量負(fù)擔(dān),使得對(duì)象初始化功能變得更簡(jiǎn)單便捷。由用戶自定義,可根據(jù)初始值的要求設(shè)計(jì)函數(shù)體。聲明格式:"構(gòu)造函數(shù)名(類型1形參1,類型2形參2,…){}"對(duì)象定義格式:“類名對(duì)象名(實(shí)參1,實(shí)參2.?.);”有參數(shù)的構(gòu)造函數(shù)稱為有參構(gòu)造函數(shù),沒有參數(shù)的構(gòu)造函數(shù)稱為默認(rèn)構(gòu)造函數(shù);如果類中沒有編寫構(gòu)造函數(shù),那么只能創(chuàng)立無參數(shù)的對(duì)象,系統(tǒng)會(huì)自動(dòng)默認(rèn)并添加該類的無參構(gòu)造函數(shù)。?封裝:即隱藏細(xì)節(jié),只暴露出最終實(shí)現(xiàn)的公共接口。,寫代碼時(shí),將類的聲明與成員函數(shù)實(shí)現(xiàn)局部進(jìn)行別離voidUser::setName(string_name){this->name=name;}〃語(yǔ)句1this指針只能在類的成員里使用;由this指向的_name表示User類中的屬性,而等號(hào)另一端那么是形參_name。賦值語(yǔ)句從右向左賦值,因此該句話表示形參給成員屬性值。構(gòu)造函數(shù)的重載:構(gòu)造函數(shù)具有相同的名字(即類名),而參數(shù)的個(gè)數(shù)或參數(shù)的類型不相同?析構(gòu)函數(shù):完成對(duì)象的銷毀;不能用手動(dòng)調(diào)用,是當(dāng)對(duì)象的生命周期結(jié)束時(shí),由程序自動(dòng)執(zhí)行。關(guān)于析構(gòu)函數(shù)注意點(diǎn):完成一些清理工作,但不會(huì)刪除對(duì)象本身;沒有返回值,沒有參數(shù);不能被重載,因此可以有多個(gè)構(gòu)造函數(shù),但只有一個(gè)析構(gòu)函數(shù);功能可以由用戶自定義。第7章繼承繼承就是將公共的東西提取出來,封裝成應(yīng)該類,稱為父類或基類,在此基礎(chǔ)上編寫的其他屬性和方法稱為子類或派生
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 福州墨爾本理工職業(yè)學(xué)院《企業(yè)資源規(guī)劃系統(tǒng)與應(yīng)用》2023-2024學(xué)年第二學(xué)期期末試卷
- 鄭州大學(xué)《機(jī)器人機(jī)械系統(tǒng)》2023-2024學(xué)年第二學(xué)期期末試卷
- 衡水學(xué)院《影視文學(xué)研究》2023-2024學(xué)年第二學(xué)期期末試卷
- 廂式改裝車、特種車輛項(xiàng)目效益評(píng)估報(bào)告
- 羅定職業(yè)技術(shù)學(xué)院《別墅建筑空間設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 《 峨日朵雪峰之側(cè)》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版高中語(yǔ)文必修上冊(cè)
- 揚(yáng)州大學(xué)廣陵學(xué)院《機(jī)器學(xué)習(xí)實(shí)驗(yàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆玉職業(yè)技術(shù)學(xué)院《工業(yè)機(jī)器人基礎(chǔ)與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江外國(guó)語(yǔ)學(xué)院《水產(chǎn)養(yǎng)殖學(xué)創(chuàng)新創(chuàng)業(yè)教育》2023-2024學(xué)年第二學(xué)期期末試卷
- 【化學(xué)】認(rèn)識(shí)有機(jī)化合物 第一課時(shí)教學(xué)設(shè)計(jì) 2024-2025學(xué)年高一下學(xué)期化學(xué)人教版(2019)必修第二冊(cè)
- 中國(guó)煙草總公司鄭州煙草研究院筆試試題2023
- 建設(shè)法規(guī)(全套課件)
- 心衰患者的容量管理中國(guó)專家共識(shí)-共識(shí)解讀
- 個(gè)人投資收款收據(jù)
- H3C全系列產(chǎn)品visio圖標(biāo)庫(kù)
- 新生兒常見儀器的使用與維護(hù) 課件
- 工藝能力分析報(bào)告
- 《給校園植物掛牌》課件
- 氣道高反應(yīng)性教學(xué)演示課件
- 健身房眾籌方案
- 護(hù)理帶教匯報(bào)課件
評(píng)論
0/150
提交評(píng)論