摘要本文以提高計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)水平為目的,主要探討面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué)模式、教學(xué)內(nèi)容和教學(xué)方法,提出了如何充分認(rèn)識(shí)面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)和怎樣選擇屬于主流方向的程序設(shè)計(jì)語言,并以C++語言教學(xué)為實(shí)例,提出了如何提高面向?qū)ο蟮某绦蛟O(shè)計(jì)水平。最后,根據(jù)計(jì)算機(jī)技術(shù)的發(fā)展,提出了實(shí)施可視化程序設(shè)計(jì)方法的必要性,并總結(jié)了在講授Visual C++.NET的過程中應(yīng)該突出的重點(diǎn)內(nèi)容。
關(guān)鍵詞程序設(shè)計(jì)教學(xué)C語言C++Visual C++.NET
1 引言
筆者多年來一直在高校從事計(jì)算機(jī)科學(xué)技術(shù)的教學(xué)和研究工作,在長(zhǎng)期的實(shí)踐中深刻認(rèn)識(shí)到,計(jì)算機(jī)程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的基礎(chǔ)課,熟練掌握計(jì)算機(jī)程序設(shè)計(jì)也是學(xué)生將來從事計(jì)算機(jī)技術(shù)應(yīng)用研究所應(yīng)具備的基本素質(zhì)。然而,程序設(shè)計(jì)技術(shù)水平的提高,僅僅靠一兩門程序設(shè)計(jì)課程是不夠的。只有經(jīng)歷了計(jì)算模型與算法理論、若干語言(含微程序設(shè)計(jì)和匯編語言程序設(shè)計(jì))的程序設(shè)計(jì)、程序設(shè)計(jì)方法學(xué)、程序理論與軟件開發(fā)方法學(xué)、軟件工程以及其他相關(guān)課程的學(xué)習(xí)以后,并經(jīng)過大量實(shí)踐,才能真正大幅度、整體性地提高程序設(shè)計(jì)水平。我們?cè)谶@里所討論的面向?qū)ο蟪绦蛟O(shè)計(jì),是在學(xué)習(xí)了某種高級(jí)語言(如:C語言或Pascal語言)之后所要學(xué)習(xí)的一門課程。為了提高面向?qū)ο蟪绦蛟O(shè)計(jì)的教學(xué)水平和培養(yǎng)學(xué)生的程序設(shè)計(jì)能力,既要考慮計(jì)算機(jī)軟件設(shè)計(jì)發(fā)展的方向和需要,又要重視采用科學(xué)、合理和先進(jìn)的教學(xué)模式,并實(shí)施相應(yīng)的教學(xué)內(nèi)容和教學(xué)方法。下面針對(duì)這些問題談?wù)劰P者的看法。
2 充分認(rèn)識(shí)面向?qū)ο蟪绦蛟O(shè)計(jì)的特點(diǎn)
隨著程序設(shè)計(jì)學(xué)科的發(fā)展,程序設(shè)計(jì)思想經(jīng)歷了從簡(jiǎn)單的順序計(jì)算到結(jié)構(gòu)化的程序設(shè)計(jì),再到面向?qū)ο蟮某绦蛟O(shè)計(jì)的發(fā)展過程,形成了一整套的思想理論和設(shè)計(jì)方法。目前看來,面向?qū)ο蟪绦蛟O(shè)計(jì)方法比較接近人們表達(dá)事物和解決問題的思維方法,其特點(diǎn)如下。
(1)具有靜態(tài)屬性和動(dòng)態(tài)行為的對(duì)象與客觀世界的實(shí)體比較相象,面向?qū)ο蟮某绦蚰軌虮容^自然地模擬客觀世界,從而使得解空間與問題空間在結(jié)構(gòu)上盡可能一致。
(2)應(yīng)用面向?qū)ο蠹夹g(shù)來分析、設(shè)計(jì)和實(shí)現(xiàn)軟件系統(tǒng)的過程與人們認(rèn)識(shí)客觀世界、解決實(shí)際問題的過程比較一致。
(3)對(duì)象的封裝性,降低了程序的復(fù)雜性;對(duì)象的繼承性,增加了程序設(shè)計(jì)的可重復(fù)使用性;對(duì)象的多樣性,增強(qiáng)了程序設(shè)計(jì)的靈活性。由此可以明顯提高軟件開發(fā)與維護(hù)的效率,降低軟件的總成本。
應(yīng)用這些特點(diǎn),人們?cè)诔绦蛟O(shè)計(jì)時(shí)首先要考慮系統(tǒng)有哪些需要處理的“數(shù)據(jù)”或者“對(duì)象”,進(jìn)一步分析這些對(duì)象包含了哪些信息,以及處理這些信息所需要的方法。也就是說,找出對(duì)象、正確地描述對(duì)象、分析對(duì)象與對(duì)象之間的關(guān)系以及采用計(jì)算機(jī)語言來構(gòu)建系統(tǒng)等工作,這是面向?qū)ο蟪绦虻姆治雠c設(shè)計(jì)的方法。
近年來,面向?qū)ο蟮募夹g(shù)越來越受到人們的重視,對(duì)它的應(yīng)用和研究遍及計(jì)算機(jī)軟件和硬件的各個(gè)領(lǐng)域,國(guó)內(nèi)高校普遍開設(shè)了面向?qū)ο蟪绦蛟O(shè)計(jì)之類的課程。
3 明確選擇屬于主流方向的程序設(shè)計(jì)語言
面向?qū)ο蟪绦蛟O(shè)計(jì)語言很多,在IT行業(yè)中最為流行的如:C++、Java和Delphi等語言,而我們的教學(xué)中選擇了C++,其理由如下。
(1)C語言成為程序設(shè)計(jì)入門的主導(dǎo)語言。由于C語言在當(dāng)今系統(tǒng)軟件和部分應(yīng)用軟件的開發(fā)中具有實(shí)用性強(qiáng)的特點(diǎn),又與硬件和程序設(shè)計(jì)環(huán)境底層的聯(lián)系緊密,所以當(dāng)學(xué)生具備了一定的數(shù)學(xué)基礎(chǔ)和計(jì)算機(jī)操作實(shí)驗(yàn)基礎(chǔ)后,首先認(rèn)可在某種計(jì)算模型(如隨機(jī)存儲(chǔ)計(jì)算模型)和軟件技術(shù)(如編譯技術(shù))的支持下,通過C語言的各種基本成分及其功能的了解,學(xué)習(xí)如何組合各種語言成分來編制完成某項(xiàng)計(jì)算的程序,然后完成對(duì)某些計(jì)算方法和算法的具體實(shí)現(xiàn),從中體會(huì)計(jì)算機(jī)在處理大量計(jì)算問題時(shí)如何從過程的角度完成具體計(jì)算,從而為學(xué)習(xí)其他計(jì)算機(jī)基礎(chǔ)課程打好基礎(chǔ)。
(2)C++與C語言有不可分割的親情關(guān)系。C++是在C語言的基礎(chǔ)上演變而來的一種程序設(shè)計(jì)語言,它不是簡(jiǎn)單地對(duì)C語言作了某些改進(jìn),而是在C語言成功的基礎(chǔ)上進(jìn)行了一場(chǎng)革命。C++語言的創(chuàng)建初衷是“a better C”,但是這并不意味著C++中類似C語言的全局變量和函數(shù)所采用的編譯及連接方式與C語言完全相同。作為一種欲與C兼容的語言,C++保留了一部分過程式語言的特點(diǎn),因而它可以定義為不屬于任何類的全局變量和函數(shù)。但是,C++畢竟是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,為了支持函數(shù)的重載,C++對(duì)全局函數(shù)的處理方式與C有明顯的不同。在C++教學(xué)中,重點(diǎn)介紹有關(guān)面向?qū)ο蟮幕靖拍?、基本方法和基本技術(shù),重點(diǎn)介紹兩種語言之間的不同之處,從而實(shí)現(xiàn)了程序設(shè)計(jì)思想、方法和技術(shù)從面向過程平穩(wěn)過渡到變?yōu)槊嫦驅(qū)ο?,減小了C++的學(xué)習(xí)難度。
(3)C++可以很容易延伸到其他語言。與C++接近的有Java語言和C#(C Sharp)語言,它們的基本語句大致相同,其功能主要是開發(fā)B/S結(jié)構(gòu)的分布式系統(tǒng)。學(xué)習(xí)這些語言的時(shí)候,在C++語言的基礎(chǔ)上,從語言理論(只引用結(jié)論而不展開論述)和語言比較學(xué)的角度出發(fā),放棄語言的共性,重點(diǎn)學(xué)習(xí)對(duì)應(yīng)語言的個(gè)性,這樣達(dá)到事半功倍的效果。同時(shí)引出由于程序設(shè)計(jì)方法和技術(shù)的發(fā)展以及高級(jí)語言進(jìn)一步發(fā)展帶來的需要在程序設(shè)計(jì)語言中解決的問題,如組件、網(wǎng)頁以及通信等應(yīng)用方面的設(shè)計(jì),向?qū)W生適當(dāng)展示高級(jí)語言與程序設(shè)計(jì)廣闊的天地,為后續(xù)相關(guān)課程埋下伏筆。
4 注重提高面向?qū)ο蟮某绦蛟O(shè)計(jì)水平
在引導(dǎo)學(xué)生從面向過程程序設(shè)計(jì)到面向?qū)ο蟪绦蛟O(shè)計(jì)的轉(zhuǎn)變過程中,對(duì)于面向?qū)ο蟮囊恍┗靖拍睿ㄈ珙?、?duì)象、封裝、繼承和多態(tài)),通過同現(xiàn)實(shí)生活的事物相對(duì)比,學(xué)生還是很容易理解的。但是,如何將這些概念應(yīng)用到面向?qū)ο蟪绦蛟O(shè)計(jì)中,剛開始對(duì)于學(xué)生來說還是有一定的難度。為了克服這個(gè)難題,我們?cè)贑++語言的教學(xué)中注重了以下幾方面內(nèi)容。
(1)從程序設(shè)計(jì)的角度理解面向?qū)ο蟮幕靖拍?。例如?duì)象的封裝性,我們可以認(rèn)為是一種把代碼和代碼所操作的數(shù)據(jù)捆綁在一起,使這兩者不受外界干擾和誤用的機(jī)制。.封裝可被理解為是一種用做保護(hù)的包裝器,以防止代碼和數(shù)據(jù)被包裝器外部所定義的其他代碼任意訪問。對(duì)包裝器內(nèi)部代碼與數(shù)據(jù)的訪問通過一個(gè)明確定義的接口來控制。封裝代碼的好處是每個(gè)人都知道怎樣訪問代碼,而無需考慮實(shí)現(xiàn)細(xì)節(jié)就能直接使用它,同時(shí)不用擔(dān)心不可預(yù)料的副作用。在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,最基本的封裝單元是類,一個(gè)類定義了由一組對(duì)象所共享的行為(數(shù)據(jù)和代碼)。一個(gè)類的每個(gè)對(duì)象均包含它所定義的結(jié)構(gòu)與行為,這些對(duì)象就好像是一個(gè)模子鑄造出來的一樣,所以對(duì)象也叫做類的實(shí)例。對(duì)于類的封裝程度,也是有選擇的。類提供關(guān)鍵字public、protected 和private,用于聲明哪些數(shù)據(jù)和函數(shù)是公有的、受保護(hù)的或者是私有的,用以控制類的封裝程度,公有的數(shù)據(jù)和函數(shù)公開必須要讓外界知道的內(nèi)容,而隱藏的是私有的一切內(nèi)容。對(duì)于對(duì)象的繼承性,是指一個(gè)對(duì)象從另一個(gè)對(duì)象中獲得屬性的過程,它支持按層次分類的概念。如果不使用層次的概念,每個(gè)對(duì)象需要明確定義各自的全部特征。通過層次分類方式,一個(gè)對(duì)象只需要在它的類中定義屬于它的個(gè)性,然后從父類中繼承它的共性。因此,正是由于繼承機(jī)制,才使得一個(gè)對(duì)象可以成為一個(gè)通用類的一個(gè)特定實(shí)例。當(dāng)然,類的繼承方式,C++提供了公有和私有的兩種選擇。
(2)培養(yǎng)面向?qū)ο蠹夹g(shù)分析的抽象思維。抽象是程序設(shè)計(jì)的基本要素,程序設(shè)計(jì)者通過抽象描述來實(shí)現(xiàn)軟件系統(tǒng)。抽象描述的有效方法是使用層次式的分類特性,這種方法允許用戶根據(jù)物理含義分解一個(gè)復(fù)雜的系統(tǒng),把它劃分成更容易實(shí)現(xiàn)的塊。例如,一個(gè)計(jì)算機(jī)系統(tǒng)是一個(gè)獨(dú)立的對(duì)象,而在計(jì)算機(jī)系統(tǒng)內(nèi)部由幾個(gè)子系統(tǒng)組成:顯示器、鍵盤、硬盤驅(qū)動(dòng)器、DVD-ROM、軟盤、音響等,這些子系統(tǒng)每個(gè)又由專門的部件組成。在程序設(shè)計(jì)中,其中抽象是自頂向下地逐步求精和模塊化。自頂向下地逐步求精是指首先要對(duì)所設(shè)計(jì)的系統(tǒng)有一個(gè)全面的理解,其次從頂層開始連續(xù)地逐層向下分解,直到系統(tǒng)的所有模塊都被分解為一條條的詳細(xì)指令時(shí)為止。模塊化是指把一個(gè)大的程序按照一定的原則劃分為若干個(gè)相對(duì)獨(dú)立但又相互關(guān)聯(lián)的實(shí)體,這些實(shí)體就是我們所面向的對(duì)象,它們用類來描述定義。
(3)訓(xùn)練面向?qū)ο笤O(shè)計(jì)的邏輯思維。程序設(shè)計(jì)的過程也就是對(duì)學(xué)生的思維進(jìn)行訓(xùn)練的過程。在許多常規(guī)學(xué)科的日常教學(xué)中我們不難發(fā)現(xiàn)這樣一個(gè)現(xiàn)象,不少學(xué)生的思維常常處于混亂的狀態(tài)。寫起文章來前言不搭后語,令人不知所云;解起數(shù)學(xué)題來步驟混亂,搞不清因果關(guān)系。這些都是缺乏邏輯思維訓(xùn)練的結(jié)果。程序設(shè)計(jì)的訓(xùn)練不僅可以讓學(xué)生養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,而且可以有效地培養(yǎng)學(xué)生思維的條理性和邏輯性。
(4)幫助學(xué)生樹立系統(tǒng)工程觀點(diǎn)。在計(jì)算機(jī)行業(yè)中,軟件的設(shè)計(jì)已經(jīng)用工程的觀念來進(jìn)行管理。軟件設(shè)計(jì)不再被認(rèn)為是手工作坊里的個(gè)體勞動(dòng),而是被當(dāng)作一項(xiàng)系統(tǒng)工程。軟件工程的復(fù)雜程度不低于甚至高于諸如建筑工程等其他行業(yè)的工程。隨著社會(huì)信息化進(jìn)程的不斷加速,計(jì)算機(jī)應(yīng)用走進(jìn)各行各業(yè)是大勢(shì)所趨,社會(huì)需要大量的計(jì)算機(jī)高等人才,從而對(duì)我們的計(jì)算機(jī)教育提出了更高要求。我們知道,程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)的基礎(chǔ),應(yīng)該從一開始使學(xué)生養(yǎng)成一個(gè)好習(xí)慣,樹立正確的軟件工程觀點(diǎn)。這樣做不僅可以為學(xué)生將來從事計(jì)算機(jī)應(yīng)用打下良好的基礎(chǔ),而且有利于提高學(xué)生統(tǒng)籌全局、協(xié)調(diào)關(guān)系的基本能力。
5 大力強(qiáng)化面向?qū)ο蟮目梢暬绦蛟O(shè)計(jì)方法
目前,程序設(shè)計(jì)的觀念發(fā)生了顯著變化,可視化(Visual)技術(shù)廣泛用于各種程序設(shè)計(jì)過程,就拿C++來說,就有C++ Builder和Visual C++不同的可視化程序設(shè)計(jì)語言。這些可視化語言,它們以其圖形化的編程方式將面向?qū)ο蠹夹g(shù)的特性完美地體現(xiàn)出來,使得開發(fā)軟件這一原本枯燥、難以理解的工作變得輕松快捷。作為專業(yè)人員不懂得可視化編程技術(shù)將無法在競(jìng)爭(zhēng)激烈的計(jì)算機(jī)行業(yè)中立足,作為計(jì)算機(jī)學(xué)科的教師不傳授可視化編程技術(shù)將難以滿足學(xué)生強(qiáng)烈的求知欲望。
從整個(gè)IT產(chǎn)業(yè)的軟件市場(chǎng)來講,如果要開發(fā)高性能的Windows或萬維網(wǎng)(WWW)應(yīng)用程序,Visual C++是一種效率較高的開發(fā)工具,幾乎所有世界級(jí)的軟件都是使用Visual C++開發(fā)系統(tǒng)完成的。在2002年初,微軟公司又推出了Visual C++的最新版本——Visual C++.NET,它繼承了以往Visual C++各版本的優(yōu)點(diǎn),增加了許多新的特性,使得開發(fā)的能力更強(qiáng)、開發(fā)的效率更高,深受業(yè)內(nèi)人士青睞,所以我們選擇了Visual C++.NET作為可視化程序設(shè)計(jì)語言。
在學(xué)習(xí)掌握C++語言的基礎(chǔ)上,講授Visual C++.NET需要重點(diǎn)突出以下內(nèi)容。
(1)MFC(Microsoft Foundation Class,微軟基本類庫)。MFC是微軟公司為Windows程序員提供的一個(gè)面向?qū)ο蟮腤indows編程接口,使用它進(jìn)行Windows應(yīng)用程序開發(fā)具有很大的優(yōu)越性。首先,MFC提供了一個(gè)標(biāo)準(zhǔn)化的結(jié)構(gòu),開發(fā)人員不必從頭設(shè)計(jì)創(chuàng)建和管理一個(gè)標(biāo)準(zhǔn)Windows應(yīng)用程序所需的程序,而是“站在巨人肩膀上”,充分利用Microsoft開發(fā)人員多年開發(fā)Windows程序的經(jīng)驗(yàn),并可以將這些經(jīng)驗(yàn)融入到用戶自己開發(fā)的應(yīng)用程序中去。我們知道,雖然程序設(shè)計(jì)者要編寫的程序在功能上是千差萬別的,但從本質(zhì)上來講,都可以歸納為用戶交互界面的設(shè)計(jì)、輸入輸出文件的操作、多媒體技術(shù)的應(yīng)用以及數(shù)據(jù)庫的訪問等一些最常用的技術(shù)。這一點(diǎn)正是微軟提供MFC類庫的最重要原因,在這個(gè)類庫中包含了一百多個(gè)程序開發(fā)過程中最常用到的類。在進(jìn)行程序設(shè)計(jì)的時(shí)候,如果類庫中的某個(gè)類具有我們所需要的功能,這時(shí)我們只要簡(jiǎn)單地引用該類產(chǎn)生對(duì)應(yīng)對(duì)象,然后通過對(duì)象調(diào)用有關(guān)方法就可以了。我們還可以利用面向?qū)ο蠹夹g(shù)中很重要的“繼承”方法從類庫中的已有類派生出我們自己的類,該類繼承了父類的特性和功能,實(shí)現(xiàn)了代碼重用,并在此基礎(chǔ)上還可以根據(jù)自己需要加上所需的特性和方法,從而可以快速設(shè)計(jì)出一個(gè)更專業(yè)的、功能更強(qiáng)大的類。
(2)消息處理機(jī)制。Windows操作系統(tǒng)環(huán)境下運(yùn)行的交互式應(yīng)用程序,不論采用那一種開發(fā)工具,它都具有以消息為基礎(chǔ)、由事件驅(qū)動(dòng)的運(yùn)行機(jī)制。事件是外部強(qiáng)加于應(yīng)用程序的操作動(dòng)作,它們有可能來自系統(tǒng),也有可能來自用戶。操作系統(tǒng)將捕捉到的事件,按事件的類型和來源采用相應(yīng)的數(shù)據(jù)結(jié)構(gòu)描述事件,這種形式稱為消息。操作系統(tǒng)將事件翻譯成消息之后,接著將消息分發(fā)到消息隊(duì)列中,等待應(yīng)用程序索取并處理。在Visual C++.NET中,消息可分為窗口消息、命令消息、控件消息和交互對(duì)象更新消息,這些不同類型的消息各自都有對(duì)應(yīng)的處理方式。熟悉消息的處理方式和靈活應(yīng)用消息,對(duì)于學(xué)生設(shè)計(jì)交互式應(yīng)用程序至關(guān)重要,因?yàn)樵O(shè)計(jì)的大多數(shù)時(shí)間是充分利用各種消息,編寫它們對(duì)應(yīng)的處理函數(shù)。如果忽視了消息處理機(jī)制內(nèi)容,學(xué)生編程序或者無從下手,或者功能簡(jiǎn)單。
(3)主要應(yīng)用程序類型的程序結(jié)構(gòu)。Visual C++.NET提供了良好的開發(fā)應(yīng)用程序向?qū)В谙驅(qū)У闹敢?,可以自?dòng)生成單文檔、多文檔、對(duì)話框和多頂級(jí)文檔等四種標(biāo)準(zhǔn)類型的應(yīng)用程序結(jié)構(gòu),對(duì)應(yīng)結(jié)構(gòu)都是由MFC中的基類派生的類組成的。在教學(xué)過程中,深入剖析這四種應(yīng)用程序結(jié)構(gòu),有助于提高學(xué)生的軟件開發(fā)能力。例如多文檔應(yīng)用程序結(jié)構(gòu)目前使用越來越普遍,人們熟悉的Microsoft公司的Office系列產(chǎn)品以及Visual系列產(chǎn)品都是典型的多文檔應(yīng)用程序。這種多文檔界面具有多窗口的特點(diǎn),因而人們可以在一個(gè)程序中使用多個(gè)子窗口來實(shí)現(xiàn)不同數(shù)據(jù)的瀏覽查看。一般情況下,這四種結(jié)構(gòu)可以滿足絕大多數(shù)用戶的要求,但有時(shí)用戶也可以通過重載一些函數(shù)來修改其缺省的風(fēng)格,從而在此結(jié)構(gòu)基礎(chǔ)上設(shè)計(jì)加工具有自己個(gè)性的應(yīng)用程序。
(4)對(duì)話框的數(shù)據(jù)交換機(jī)制。對(duì)話框是應(yīng)用程序的主要交互方式,它作為一種容器,包含了用于輸入輸出信息和控制操作的控件,并且大多數(shù)控件都有對(duì)應(yīng)的內(nèi)存變量。Visual C++.NET對(duì)于實(shí)現(xiàn)控件和變量之間的數(shù)據(jù)交換有自己的一套獨(dú)特機(jī)制,熟悉這種機(jī)制有助于學(xué)生深刻理解輸入輸出數(shù)據(jù)的來龍去脈。
以上內(nèi)容如果讓學(xué)生自學(xué)是有一定的難度,所以希望老師重點(diǎn)講解這些內(nèi)容,以便學(xué)生自學(xué)繪圖、數(shù)據(jù)庫操作和網(wǎng)絡(luò)編程等有關(guān)專題技術(shù)。
6 結(jié)束語
目前,計(jì)算機(jī)程序設(shè)計(jì)方法在不斷地更新,當(dāng)我們講授面向?qū)ο蟮某绦蛟O(shè)計(jì)方法時(shí),面向組件和面向服務(wù)的新方法就已經(jīng)產(chǎn)生了。在這種情況下,是不是說面向?qū)ο蟮某绦蛟O(shè)計(jì)方法過時(shí)?我認(rèn)為并不見得過時(shí)。就像我們應(yīng)用面向?qū)ο蟮脑O(shè)計(jì)方法時(shí)還得應(yīng)用面向過程的設(shè)計(jì)方法(如設(shè)計(jì)消息處理函數(shù))一樣,面向組件和面向服務(wù)的新方法是在面向?qū)ο蟮幕A(chǔ)上發(fā)展產(chǎn)生的,服務(wù)是組件的容器,組件是對(duì)象的容器,最基本的內(nèi)核還是對(duì)象,只不過從軟件體系結(jié)構(gòu)的角度來講,服務(wù)和組件相對(duì)于對(duì)象來說,是形成體系結(jié)構(gòu)的更大力度的結(jié)構(gòu)元素。所以說,講授好面向?qū)ο蟪绦蛟O(shè)計(jì)方法,是為將來學(xué)習(xí)面向組件和面向服務(wù)的程序設(shè)計(jì)方法打基礎(chǔ)。
參考文獻(xiàn)
[1] 譚浩強(qiáng).C程序設(shè)計(jì)(第二版)[M].清華大學(xué)出版社,2001,8.
[2] 鄭莉,董淵.C++語言程序設(shè)計(jì)(第二版)[M].清華大學(xué)出版社,2002,1.
[3] 張海藩,牟永敏.面向?qū)ο蟪绦蛟O(shè)計(jì)實(shí)用教程[M].清華大學(xué)出版社,2002,6
[4] 王恩德.Visual C++.NET程序設(shè)計(jì)教程 [M].清華大學(xué)出版社,2004,7.