出版時(shí)間:2000-3 出版社:經(jīng)濟(jì)科學(xué) 作者:劉振安
內(nèi)容概要
《面向?qū)ο蟪绦蛟O(shè)計(jì)》內(nèi)容簡(jiǎn)介:在程序設(shè)計(jì)方法方面,C++既支持傳統(tǒng)的面向過程的程序設(shè)計(jì)方法,也支持新的面向?qū)ο蟮某绦蛟O(shè)計(jì)方法。因?yàn)镃++是一種混合語言,所以就使得它保持與C語言兼容,C程序員僅需學(xué)習(xí)C++語言的特征,就可很快地用C++編寫程序。
全書共分9章。第1章是面向?qū)ο蠹癈++基礎(chǔ)知識(shí);第2章是類和對(duì)象;第3章是構(gòu)造函數(shù)與析構(gòu)函數(shù);第4章介紹繼承和派生類;第5章介紹多態(tài)性和虛函數(shù);第6章是進(jìn)一步使用成員函數(shù);第7章介紹運(yùn)算符重載及流類庫;第8章介紹模板;第9章是進(jìn)一步掌握面向?qū)ο蟪绦蛟O(shè)計(jì)。各章均附有與試題題型相對(duì)應(yīng)的習(xí)題,典型習(xí)題的答案見與《面向?qū)ο蟪绦蛟O(shè)計(jì)》配套的輔導(dǎo)書。
《面向?qū)ο蟪绦蛟O(shè)計(jì)》的對(duì)象是自學(xué)考試的讀者,既應(yīng)易于自學(xué),也應(yīng)注重培養(yǎng)獨(dú)立解決問題的能力,所以除概念清楚,重點(diǎn)突出,容易理解之外,還專門開辟一章“進(jìn)一步掌握面向?qū)ο蟪绦蛟O(shè)計(jì)”,系統(tǒng)訓(xùn)練思考問題和解決實(shí)際問題的能力,使學(xué)生能對(duì)使用C++進(jìn)行面向?qū)ο缶幊逃幸粋€(gè)完整的整體認(rèn)識(shí),并初步掌握實(shí)用程序的編制方法及大程序的設(shè)計(jì)方法,為課程設(shè)計(jì)打下基礎(chǔ)。
《面向?qū)ο蟪绦蛟O(shè)計(jì)》雖然作為自學(xué)考試的教材,但也適合作為大專院校及社會(huì)上各種培訓(xùn)班的教材,并可供廣大計(jì)算機(jī)工作者自學(xué)之用。
書籍目錄
第1章 面向?qū)ο蠹癈++基礎(chǔ)知識(shí)1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)知識(shí)1.1.1 面向過程與面向?qū)ο?.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)方法1.1.3 C++語言的來龍去脈1.2 C++基本程序結(jié)構(gòu)1.2.1 新的風(fēng)格1.2.2 內(nèi)聯(lián)函數(shù)1.2.3 引用1.2.4 編譯指令1.3 改變習(xí)慣重新思考習(xí)題1第2章 類和對(duì)象2.1 定義類2.2 使用類和對(duì)象2.3 內(nèi)聯(lián)成員函數(shù)2.4 成員函數(shù)的重載及其缺省參數(shù)2.5 this指針2.6 結(jié)構(gòu)和聯(lián)合2.7 有關(guān)類的其它知識(shí)2.7.1 類作用域..2.7.2 空類2.7.3 類對(duì)象的性質(zhì)及存取2.7.4 嵌套類2.7.5 類的實(shí)例化習(xí)題2第3章 構(gòu)造函數(shù)與析構(gòu)函數(shù)3.1 構(gòu)造函數(shù)3.1.1 定義構(gòu)造函數(shù)3.1.2 構(gòu)造函數(shù)和運(yùn)算符new3.1.3 缺省構(gòu)造函數(shù)3.1.4 復(fù)制初始化構(gòu)造函數(shù)3.2 析構(gòu)函數(shù).3.2.1 定義析構(gòu)函數(shù)3.2.2 析構(gòu)函數(shù)和對(duì)象數(shù)組3.2.3 析構(gòu)函數(shù)和運(yùn)算符ddete3.2.4 缺省析構(gòu)函數(shù)3.3 構(gòu)造函數(shù)類型轉(zhuǎn)換3.4 對(duì)象的初始化3.5 對(duì)象賦值3.6 對(duì)象成員習(xí)題3第4章 繼承和派生類4.1 繼承和派生的基本概念4.2 單一繼承4.3 類的保護(hù)成員4.4 訪問權(quán)限和賦值兼容規(guī)則4.5 多重繼承4.6 構(gòu)造函數(shù)與析構(gòu)函數(shù)調(diào)用順序4.7 兩義性及其支配規(guī)則4.7.1 兩義性和作用域分辨操作符4.7.2 兩義性及其支配規(guī)則4.8 虛基類習(xí)題4第5章 多態(tài)性和虛函數(shù)5.1 多態(tài)性5.1.1 編譯時(shí)的多態(tài)性5.1.2 運(yùn)行時(shí)的多態(tài)性5.2 虛函數(shù)5.2.1 虛函數(shù)的訪問權(quán)限5.2.2 在成員函數(shù)中調(diào)用虛函數(shù)5.2.3 構(gòu)造函數(shù)和析構(gòu)函數(shù)調(diào)用虛函數(shù)5.2.4 空的虛函數(shù)5.2.5 純虛函數(shù)與抽象類5.2.6 多重繼承與虛函數(shù)5.3 虛函數(shù)的多態(tài)性5.4 虛析構(gòu)函數(shù)習(xí)題5第6章進(jìn)一步使用成員函數(shù)6.1 靜態(tài)成員6.2 友元函數(shù)6.3 const對(duì)象和volatile對(duì)象……第7章 運(yùn)算符號(hào)重載及流類庫第8章 模板第9章 進(jìn)一步掌握面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)自學(xué)考試大綱
章節(jié)摘錄
版權(quán)頁:插圖:由此可見,封裝要求一個(gè)對(duì)象應(yīng)具備明確的功能,并具有接口以便和其它對(duì)象相互作用。同時(shí),對(duì)象的內(nèi)部實(shí)現(xiàn)(代碼和數(shù)據(jù))是受保護(hù)的,外界不能訪問它們,只有局部于對(duì)象的代碼才可以訪問該對(duì)象的內(nèi)部數(shù)據(jù)。對(duì)象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性稱為數(shù)據(jù)隱藏。封裝使得一個(gè)對(duì)象可以像一個(gè)部件一樣用在各種程序中,而不用擔(dān)心對(duì)象的功能受到影響。數(shù)據(jù)封裝是軟件工程發(fā)展的必然產(chǎn)物。早期的軟件是把數(shù)據(jù)與程序混在一起,結(jié)構(gòu)化很差,被戲稱為“一碗面條”的編程方法。在這個(gè)階段,程序的可讀性和可維護(hù)性都很差,于是產(chǎn)生了“軟件危機(jī)”,為了解除這種危機(jī)便提出了結(jié)構(gòu)化程序設(shè)計(jì)。在結(jié)構(gòu)化程序設(shè)計(jì)里,雖然程序被分成不同的模塊,以便大大減少不同模塊之間的相互調(diào)用,但數(shù)據(jù)仍然是屬于整個(gè)程序的。這就又存在著這樣一些問題:一方面,程序員在設(shè)計(jì)每一個(gè)模塊的時(shí)候,都要或多或少地作全局考慮,增加了工作量;另一方面,在某地方對(duì)數(shù)據(jù)的改動(dòng),有可能又對(duì)整個(gè)程序產(chǎn)生難以預(yù)料的影響。隨著軟件工程的進(jìn)一步發(fā)展,軟件越來越大,數(shù)據(jù)越來越多,這個(gè)問題也越來越突出。數(shù)據(jù)封裝的提出,就是為了解決這一問題。它一方面使得程序員在設(shè)計(jì)程序時(shí)可以專注于自己的對(duì)象,“各人自掃門前雪,莫管他人瓦上霜”,同時(shí)也切斷了不同模塊之間數(shù)據(jù)的非法使用,減少了出錯(cuò)的可能性。不同的對(duì)象可以調(diào)用相同名稱的函數(shù),并可導(dǎo)致完全不同的行為的現(xiàn)象稱為多態(tài)性。利用多態(tài)性,程序中只需進(jìn)行一般形式的函數(shù)調(diào)用,函數(shù)的實(shí)現(xiàn)細(xì)節(jié)留給接受函數(shù)調(diào)用的對(duì)象。這大大提高了我們解決復(fù)雜問題的能力。例如,雖然發(fā)送一圖表對(duì)象時(shí)所調(diào)用的打印函數(shù)與發(fā)送一正文對(duì)象所調(diào)用的打印函數(shù)其效果肯定是不同的,但我們可以設(shè)計(jì)一個(gè)公共的sendit()函數(shù)名代表發(fā)送,而不同對(duì)象發(fā)送的具體細(xì)節(jié)則分別由具體對(duì)象負(fù)責(zé)實(shí)現(xiàn)。在計(jì)算機(jī)科學(xué)中,對(duì)象是包含現(xiàn)實(shí)世界物體特征的抽象實(shí)體。建立和操作對(duì)象并不一定非要面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。基于對(duì)象的編程方法早就存在了,不同的語言如FORTRAN、LISP和匯編語言中也使用了這種方法。所以說對(duì)象是程序設(shè)計(jì)方法的產(chǎn)物,而不是某種語言的產(chǎn)物。但在C++中,對(duì)象具有更大的重要性。在這種新方法下,程序中操作的任何成分都可以看做對(duì)象。對(duì)象是在程序執(zhí)行時(shí)生成和刪除的,對(duì)象之間互相作用,可以放在一起形成組、集合、數(shù)組及表等結(jié)構(gòu)。有些語言(例如Smalltalk)是完全基于對(duì)象的,Smalltalk程序中操作的任何成分都是某種對(duì)象。這種統(tǒng)一的方法賦予語言更多的優(yōu)勢(shì),但同時(shí)也帶來一些缺點(diǎn)。主要是因?yàn)槭褂脤?duì)象有時(shí)會(huì)增加運(yùn)行時(shí)刻的開銷,從而大大降低程序的性能。C++程序設(shè)計(jì)語言利用了對(duì)象最受歡迎的特征,并盡可能避免了運(yùn)行時(shí)刻的缺點(diǎn)和開銷。在C++語言中,程序操作的大部分(但不是所有的)成分是對(duì)象,因此,C++被稱為混合式面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。C++語言是C語言的擴(kuò)充。在1980年,貝爾實(shí)驗(yàn)室的Bjarne Strotstrup博士及其同事開始對(duì)C語言進(jìn)行改進(jìn)和擴(kuò)充,最初被稱為“帶類的C”,1983年才取名為C++。以后又經(jīng)過不斷完善和發(fā)展,成為目前的C++語言。
編輯推薦
《面向?qū)ο蟪绦蛟O(shè)計(jì)》:全國高等教育自學(xué)考試指定教材·計(jì)算機(jī)及應(yīng)用專業(yè)(獨(dú)立本科段)。
圖書封面
評(píng)論、評(píng)分、閱讀與下載