C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt

C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt

ID:50350807

大?。?14.50 KB

頁數(shù):30頁

時(shí)間:2020-03-08

C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt_第1頁
C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt_第2頁
C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt_第3頁
C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt_第4頁
C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt_第5頁
資源描述:

《C語言程序 設(shè)計(jì) 第12章 C++程序設(shè)計(jì)基礎(chǔ).ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、C語言程序設(shè)計(jì)第12章C++程序設(shè)計(jì)基礎(chǔ)第12章C++程序設(shè)計(jì)基礎(chǔ)主要內(nèi)容12.1面向?qū)ο蟪绦蛟O(shè)計(jì)概述12.2從C到C++12.3C++的非面向?qū)ο笾R(shí)12.1面向?qū)ο蟪绦蛟O(shè)計(jì)概述12.1.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念12.1.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)12.1.3類和對(duì)象的作用12.1.4面向?qū)ο蟮能浖_發(fā)12.1.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念1.對(duì)象對(duì)象是構(gòu)成系統(tǒng)的基本單位。任何一個(gè)對(duì)象都應(yīng)當(dāng)具有這兩個(gè)要素,即屬性(attribute)和行為(behavior),它能根據(jù)外界給的信息進(jìn)行相應(yīng)的操

2、作。一個(gè)對(duì)象往往是由一組屬性和一組行為構(gòu)成的。在C++中,每個(gè)對(duì)象都是由數(shù)據(jù)和函數(shù)(即操作代碼)這兩部分組成的。數(shù)據(jù)體現(xiàn)了“屬性”;函數(shù)是用來對(duì)數(shù)據(jù)進(jìn)行操作的,以便實(shí)現(xiàn)某些功能。2.封裝與信息隱蔽所謂“封裝”,指兩方面的含義:一是將有關(guān)的數(shù)據(jù)和操作代碼封裝在一個(gè)對(duì)象中,形成一個(gè)基本單位,各個(gè)對(duì)象之間相對(duì)獨(dú)立,互不干擾;二是將對(duì)象中某些部分對(duì)外隱蔽,即隱蔽其內(nèi)部細(xì)節(jié),只留下少量接口,以便與外界聯(lián)系,接收外界的消息。這種對(duì)外界隱蔽的做法稱為信息隱蔽(imformationhiding)。信息隱蔽還有利

3、于數(shù)據(jù)安全,防止無關(guān)的人了解和修改數(shù)據(jù)。C++的對(duì)象中的函數(shù)名就是對(duì)象的對(duì)外接口,外界可以通過函數(shù)名來調(diào)用這些函數(shù)來實(shí)現(xiàn)某些行為。12.1.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念3.抽象抽象的作用是表示同一類事物的本質(zhì)。C和C++中的數(shù)據(jù)類型就是對(duì)一批具體的數(shù)的抽象。例如,“整型數(shù)據(jù)”是對(duì)所有整數(shù)的抽象。類是對(duì)象的抽象,而對(duì)象則是類的特例,或者說對(duì)象是類的具體表現(xiàn)形式。4.繼承與重用如果在軟件開發(fā)中已經(jīng)建立了一個(gè)名為A的“類”,又想另外建立一個(gè)名為B的“類”,而后者與前者內(nèi)容基本相同,只是在前者的基礎(chǔ)上增加

4、一些屬性和行為,顯然不必再?gòu)念^設(shè)計(jì)一個(gè)新類,而只需在類A的基礎(chǔ)上增加一些新內(nèi)容即可。這就是面向?qū)ο蟪绦蛟O(shè)計(jì)中的繼承機(jī)制。利用繼承可以簡(jiǎn)化程序設(shè)計(jì)的步驟。C++提供了繼承機(jī)制,采用繼承的方法可以很方便地利用一個(gè)已有的類建立一個(gè)新的類,這就可以重用已有軟件中的一部分甚至大部分,大大節(jié)省了編程工作量。這就是常說的“軟件重用”(softwarereusability)的思想,不僅可以利用自己過去所建立的類,而且可以利用別人使用的類或存放在類庫(kù)中的類,對(duì)這些類作適當(dāng)加工即可使用,大大縮短了軟件開發(fā)周期,對(duì)于

5、大型軟件的開發(fā)具有重要意義。5.多態(tài)性由繼承而產(chǎn)生的相關(guān)的不同的類,其對(duì)象對(duì)同一消息會(huì)作出不同的響應(yīng)。多態(tài)性是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)重要特征,能增加程序的靈活性。12.1.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)傳統(tǒng)的面向過程程序設(shè)計(jì)是圍繞功能進(jìn)行的,用一個(gè)函數(shù)實(shí)現(xiàn)一個(gè)功能。所有的數(shù)據(jù)都可以公用,一個(gè)函數(shù)可以使用任何一組數(shù)據(jù),而一組數(shù)據(jù)又能被多個(gè)函數(shù)所使用。程序設(shè)計(jì)者必須考慮每一個(gè)細(xì)節(jié),什么時(shí)候?qū)κ裁磾?shù)據(jù)進(jìn)行操作。當(dāng)程序規(guī)模較大、數(shù)據(jù)很多、操作種類繁多時(shí),程序設(shè)計(jì)者往往感到難以應(yīng)付。面向?qū)ο蟪绦蛟O(shè)計(jì)采取的是另外一

6、種思路,它面對(duì)的是一個(gè)個(gè)對(duì)象。實(shí)際上,每一組數(shù)據(jù)都是有特定的用途的,是某種操作的對(duì)象。也就是說,一組操作調(diào)用一組數(shù)據(jù)。面向?qū)ο蟪绦蛟O(shè)計(jì)者的任務(wù)包括兩個(gè)方面:一是設(shè)計(jì)所需的各種類和對(duì)象,即決定把哪些數(shù)據(jù)和操作封裝在一起;二是考慮怎樣向有關(guān)對(duì)象發(fā)送消息,以完成所需的任務(wù)12.1.3類和對(duì)象的作用類是C++中十分重要的概念,它是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。C++對(duì)C的改進(jìn),最重要的就是增加了“類”這樣一種類型。類是所有面向?qū)ο蟮恼Z言的共同特征,所有而向?qū)ο蟮恼Z言都提供了這種類型。如果一種計(jì)算機(jī)語言中不包

7、含類,它就不能稱為面向?qū)ο蟮恼Z言。一個(gè)有一定規(guī)模的C++程序是由許多類所構(gòu)成的??梢哉f,類是C++的靈魂,如果不真正掌握類,就不能真正掌握C++?;趯?duì)象就是基于類。與面向過程的程序不同,基于對(duì)象的程序是以類和對(duì)象為基礎(chǔ)的,程序的操作是圍繞對(duì)象進(jìn)行的。在此基礎(chǔ)上利用了繼承機(jī)制和多態(tài)性,就成為面向?qū)ο蟮某绦蛟O(shè)計(jì)。12.1.4面向?qū)ο蟮能浖_發(fā)1.面向?qū)ο蠓治觯╫bjectorientedanalysis,OOA)軟件工程中的系統(tǒng)分析階段,系統(tǒng)分析員要和用戶結(jié)合在一起,對(duì)用戶的需求作出精確的分析和明確

8、的描述,從宏觀的角度概括出系統(tǒng)應(yīng)該做什么。面向?qū)ο蟮姆治?,要按照而向?qū)ο蟮母拍詈头椒?,在?duì)任務(wù)的分析中,針對(duì)客觀存在的事物和事物之間的關(guān)系,歸納出有關(guān)的對(duì)象以及對(duì)象之間的聯(lián)系,并將具有相同屬性和行為的對(duì)象用一個(gè)類(Class)來表示。建立一個(gè)能反映真實(shí)工作情況的需求模型。在這個(gè)階段所形成的模型是比較粗略的。12.1.4面向?qū)ο蟮能浖_發(fā)2.面向?qū)ο笤O(shè)計(jì)(objectorienteddesign,OOD)根據(jù)面向?qū)ο蠓治鲭A段形成的需求模型,對(duì)每一部分分別進(jìn)行具體的設(shè)計(jì)。首先是進(jìn)行類的

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。