面向?qū)ο蟪绦蛟O(shè)計高級教程

出版時間:2002-5  出版社:藍(lán)色暢想圖書發(fā)行有限公司  作者:陳奇  頁數(shù):340  字?jǐn)?shù):530000  

前言

怎樣學(xué)好一種語言?怎樣學(xué)會用正確的方法用這種語言編程?這恐怕是所有渴望成為一個優(yōu)秀軟件工程師的人都必須面對的問題。古人云:學(xué)而不思則罔,思而不學(xué)則怠。這是一個很好的經(jīng)驗教訓(xùn),不過還應(yīng)該再補充一點:實踐。學(xué)好語言最重要的法寶是編程,再編程。接觸過不少同學(xué),他們非常熱愛計算機,非??释蔀橐粋€卓越的程序員,他們也很努力,但效果卻不如人意,有些人甚至走了很長的彎路。自己當(dāng)初也經(jīng)歷過種種曲折,很希望做點什么對這些同學(xué)有所助益。本書是講述面向?qū)ο蟪绦蛟O(shè)計方法與C++的,但我們不希望把它僅僅寫成一種語言教材。學(xué)好語言不等于學(xué)好了編程,而不以編程為目的的語言學(xué)習(xí)也是不可能真正學(xué)好語言的。本書在內(nèi)容取舍、教材結(jié)構(gòu)及習(xí)題設(shè)置方面都力求體現(xiàn)這一點。20世紀(jì)90年代初以前,我一直是用c語言寫軟件,用Pascal講課。當(dāng)時我們開了一門叫做高級程序設(shè)計的課程,力圖告訴學(xué)生怎樣才算是好程序,怎樣才是一個高的編程境界。多年后,一些學(xué)生回憶起來,仍覺得獲益良多。通過那門課的教學(xué),我們(我和我的學(xué)生們)明白了一個道理,編程就像武俠小說里的練武,光是一招一式是不夠的,要成為一個武林高手,就要掌握關(guān)鍵,就要追求那種境界。當(dāng)時,我們在課上讀了不少非常優(yōu)美的程序,也寫了一些所謂的大作業(yè)(一千行開外,四、五千行以內(nèi)),好像也挺優(yōu)美的。但一到寫實際的程序(一般在數(shù)萬行以上),最終總是寫得很蹩腳。當(dāng)時用的是結(jié)構(gòu)化編程,我自己的體會是很有道理的,但總是寫不好。一方面得承認(rèn)自己練得不夠純熟,一方面好像總覺得結(jié)構(gòu)化程序設(shè)計本身是一套境界不夠高的“拳”,坦率地說,我一直沒有在用c語言編寫大程序上體會到多少內(nèi)在的樂趣。20世紀(jì)80年代末開始,我們接觸到了面向?qū)ο蟪绦蛟O(shè)計,進而又接觸了C++,當(dāng)我們開始嘗試用C++以面向?qū)ο蠓绞骄幊虝r,各種條件都還比較差,國內(nèi)教材幾乎沒有,當(dāng)時流行的C++編譯器都還只有C版本。但即使在那樣的條件下,當(dāng)在寫一個C++的軟件系統(tǒng)時,我第一次在復(fù)雜程序組織方面體會到一種令人驚奇的美妙感覺。很久以后,我才逐漸明白了面向?qū)ο笏枷刖薮蟮镊攘λ?,這是一種令人振奮的體驗。面向?qū)ο笳娴哪敲春脝??國外有人說,C++的好處你得寫五萬行以上的程序才能體會到。這也許說得有些過,但確實,結(jié)構(gòu)化程序設(shè)計和面向?qū)ο蟪绦蛟O(shè)計,都是程序越來越復(fù)雜的產(chǎn)物。在本書中,我們給出了一個較大的程序?qū)嵗故玖瞬捎媒Y(jié)構(gòu)化的C與面向?qū)ο蟮腃++不同的實現(xiàn)方案。但限于篇幅,我們?nèi)詻]有機會接觸真正復(fù)雜的程序,希望讀者能多加一些想像去體會面向?qū)ο笤趶?fù)雜程序組織中的意義。本書不打算寫成一本手冊,所以讀者不會在其中查到C++的全部細(xì)節(jié)。我們認(rèn)為目前主要的C++編程環(huán)境提供的聯(lián)機幫助遠(yuǎn)比課本要好得多。本書的目的是想幫助讀者掌握面向?qū)ο缶幊膛cC++的關(guān)鍵。以前接觸過一些“精通”c++的學(xué)生,令人驚奇的是,他們對最關(guān)鍵、最重要的C++基本成分居然不得要領(lǐng),甚至全然不知,而且更無法想像的是,這種情況還比較普遍,我們希望在“學(xué)”這一環(huán)節(jié)上,能給讀者正確的引導(dǎo)。

內(nèi)容概要

本書針對學(xué)過一門結(jié)構(gòu)化語言的讀者,以C++為背景語言,全面介紹了面向?qū)ο蟪绦蛟O(shè)計的一些概念和方法。主要內(nèi)容包括:結(jié)構(gòu)化程序設(shè)計,C語言回顧,面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ),C++語言基礎(chǔ),面向?qū)ο蟮姆治龊驮O(shè)計,C++深入論題,標(biāo)準(zhǔn)模板庫STL,Windows編程和MFC,一個綜合實例研究。全書系統(tǒng)地介紹了C++的要點與關(guān)鍵,深入分析了C++中的難點,并對重要的實現(xiàn)機制進行了必要的討論,力求幫助讀者在全面掌握面向?qū)ο蟪绦蛟O(shè)計方法與C++編程精髓的基礎(chǔ)上,進入一種良好的編程境界。    本書強調(diào)實例分析與概念理論相結(jié)合,通過一個貫穿全書的實例——圖書館管理系統(tǒng),比較完整地展示了采用結(jié)構(gòu)化編程語言C與面向?qū)ο缶幊陶Z言C++的不同實現(xiàn)方案,具有較強的實用性。本書可作為高等學(xué)校計算機或相關(guān)專業(yè)的教材或參考書,也可供對計算機有較高要求專業(yè)的研究生使用。對于希望深入掌握面向?qū)ο蟪绦蛟O(shè)計方法與C++編程技術(shù)的讀者,本書也不啻是一本較好的參考書。

書籍目錄

第一章 結(jié)構(gòu)化程序設(shè)計  1.1 軟件和編程  1.2 結(jié)構(gòu)化程序設(shè)計  1.3 層次樹狀的結(jié)構(gòu)  1.4 模塊化  1.5 自頂向下方法  1.6 軟件開發(fā)的瀑布模型  習(xí)題1第二章 C語言回顧  2.1 C語言基礎(chǔ)    2.1.1 編碼    2.1.2 類型    2.1.3 三種控制結(jié)構(gòu)    2.1.4 程序的結(jié)構(gòu)    2.1.5 程序運行時的內(nèi)存占用    2.1.6 文件  2.2 C語言中的指針    2.2.1 指針基礎(chǔ)    2.2.2 指針和數(shù)組    2.2.3 指針的指針    2.2.4 更為復(fù)雜的指針  2.3 程序設(shè)計風(fēng)格基礎(chǔ)    2.3.1 程序的清晰性    2.3.2 程序的堅固性    2.3.3 程序的通用性    2.3.4 程序的交互性  2.4 用C語言實現(xiàn)的簡單圖書館管理系統(tǒng)  習(xí)題2第三章面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)  3.1面向?qū)ο蟮挠蓙砗桶l(fā)展  3.2類和對象  3.3面向?qū)ο笾械某橄? 3.4繼承性和多態(tài)性  3.5面向?qū)ο蠓椒ê驮图夹g(shù)  習(xí)題3第四章C++語言基礎(chǔ)  4.1 C++的發(fā)展  4.2 更好的C    4.2.1 簡潔的單行注釋    4.2.2 嚴(yán)格的參數(shù)檢查    4.2.3 引用    4.2.4 靈活的局部變量說明    4.2.5 函數(shù)的缺省值    4.2.6 內(nèi)聯(lián)函數(shù)    4.2.7 常量修飾    4.2.8 空間申請和釋放  4.3 數(shù)據(jù)抽象和封裝    4.3.1 類的引入    4.3.2 類和對象    4.3.3 成員函數(shù)和this指針    4.3.4 構(gòu)造和析構(gòu)    4.3.5 常量成員函數(shù)    4.3.6 友元  4.4 繼承  4.5 多態(tài)性    4.5.1 重載    4.5.2 虛函數(shù)    4.5.3 純虛函數(shù)與抽象類  4.6 文件和流    4.6.1 文本流的操作    4.6.2 二進制流的操作  習(xí)題4第五章 UML與面向?qū)ο蟮姆治雠c設(shè)計  5.1統(tǒng)一建模語言UML概述    5.1.1 UML的產(chǎn)生和成長    5.1.2 UML的內(nèi)容    5.1.3 UML的應(yīng)用領(lǐng)域  5.2 統(tǒng)一建模語言UML的靜態(tài)建模機制    5.2.1 用例圖    5.2.2 類圖    5.2.3 組件圖和配置圖  5.3 統(tǒng)一建模語言UML的動態(tài)建模機制  5.4 使用UML的過程  5.5 UML的應(yīng)用實例:一個圖書館信息系統(tǒng)  ……第六章 C++深入論題第七章 標(biāo)準(zhǔn)模板庫STL第八章 Windows編程和MFC第九章 綜合實例:圖書館管理系統(tǒng)

章節(jié)摘錄

插圖:程序設(shè)計主流已經(jīng)從結(jié)構(gòu)化程序設(shè)計過渡到了面向?qū)ο蟪绦蛟O(shè)計。有人錯誤地以為這兩者是完全對立的,其實不然,面向?qū)ο蟪绦驘o論從發(fā)展的歷史上看還是從其內(nèi)在的意義上看,都是結(jié)構(gòu)化程序設(shè)計的發(fā)展。在一定意義上講,可以認(rèn)為面向?qū)ο蟪绦蛟O(shè)計更徹底地實現(xiàn)了結(jié)構(gòu)化程序設(shè)計的理想。為了更好地討論面向?qū)ο蟪绦蛟O(shè)計,我們有必要首先來回顧一下結(jié)構(gòu)化程序。與此同時,目前面向?qū)ο蟪绦蛟O(shè)計的主流語言C++又恰恰是從結(jié)構(gòu)化程序設(shè)計的主流語言C發(fā)展過來的,為后面講述的方便,我們也一并回顧一下C語言中的難點、要點或一些容易忽略而又很有意義的問題。已經(jīng)熟悉這些內(nèi)容的讀者可以跳過本章。1-1軟件和編程計算機是20世紀(jì)人類偉大的成就之一。計算機在誕生以來的50多年中的發(fā)展速度是令人震驚的,不僅在于其迅速提高的速度和容量,更在于其應(yīng)用的廣闊性。計算機為什么會有如此超乎人們想像的今天呢?一個重要的奧秘就是“軟件”。什么是軟件?認(rèn)真一想一定會發(fā)現(xiàn)有些難以回答,軟件是程序、工具還是一類機器?或者是機器中的一種組成部分?把軟件看作是一類機器或機器部件是有道理的,但它和傳統(tǒng)機器的最大區(qū)別就在于它的“軟”,即容易改變。計算機的一個基本設(shè)計就是將“機器”分成了兩部分:一部分是具有普遍性的支撐平臺,人們抽象出了基本的邏輯結(jié)構(gòu)和物理結(jié)構(gòu),即計算機的硬件;另一部分是可以隨時根據(jù)用戶的需要定制和改變的,即軟件。制造和出售硬件的廠商在某種程度上不用關(guān)心他們制造的“機器”將會用來干什么,但在這種機器上附著的軟件為它提供了無限的可能。

編輯推薦

《面向?qū)ο蟪绦蛟O(shè)計高級教程》是由高等教育出版社出版的。

圖書封面

評論、評分、閱讀與下載


    面向?qū)ο蟪绦蛟O(shè)計高級教程 PDF格式下載


用戶評論 (總計0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7