官术网_书友最值得收藏!

緒論

0.1 面向?qū)ο蟪绦蛟O計導論

C語言是世界上應用最廣泛的幾種計算機語言之一,C語言作為一門程序設計語言為廣大的計算機專業(yè)和非專業(yè)人員所喜歡。傳統(tǒng)的“C 語言程序設計”的主要內(nèi)容是用 C 語言迚行 DOS程序設計,比較流行的開發(fā)環(huán)境是DOS操作系統(tǒng)下的Turbo C。

20世紀60年代,為了應對軟件危機,誕生了結構化的編程思想。C語言就是一種結構化的編程語言,結構化的語言能比較容易地寫出中等復雜的程序。然而,隨著計算機技術的發(fā)展,應用軟件變得越來越龐大,許多軟件采用結構化的程序設計方法已經(jīng)無能為力。結構化程序設計方法存在的最主要的問題是代碼的重用性差。代碼重用是提高生產(chǎn)率的關鍵,采用傳統(tǒng)的面向過程的程序設計,每次迚行軟件開發(fā),除了一些標準的庫函數(shù)可以調(diào)用外,程序員幾乎總是從零做起。

或許讀者已經(jīng)聽說過面向?qū)ο蟪绦蛟O計(Object-Oriented Programming)或OOP,面向?qū)ο蟪绦蛟O計的確是一種新的程序設計思想,它的出現(xiàn)主要是為了應對日益嚴重的軟件危機。

面向?qū)ο蟮某绦蛟O計方法是以人們通常描述現(xiàn)實世界的方法來描述軟件問題的,現(xiàn)實世界由各種各樣的對象構成,比如計算機、汽車等,每個對象都有自己獨特的屬性和功能(方法),比如汽車的屬性有汽車的顏色、型號等,其功能有前迚、后退等。在軟件世界里把對象的屬性抽象為數(shù)據(jù),把對象的功能抽象為函數(shù),這樣根據(jù)現(xiàn)實世界的對象就可以構造出軟件世界的對象,如圖0-1所示。

面向?qū)ο蟪绦蛟O計最重要的工作是構造各種現(xiàn)實世界對象的軟件模型。這樣的模型一次構造,可以多次使用。因此,面向?qū)ο蟮某绦蛟O計思想提高了程序代碼的重用性,比如計算機的CPU是一個對象,則CPU做好后就可以在各種計算機上使用。在面向?qū)ο蟪绦蛟O計中,程序員所做的工作就是像搭積木一樣把各種對象組合起來,構成一個功能完備的程序。

在這里要引入類的概念,類是一類對象的抽象,或者反過來說類的實例化就是對象。比如前面講到的汽車對象,一輛紅色的汽車,一輛藍色的汽車,是否需要分別構造這兩輛汽車對象呢?這樣做顯然是不科學的,可以先構造一個汽車類,這個汽車類都具備顏色這一屬性,在實例化時指明具體對象的顏色即可,如圖0-2所示。

圖0-1 對象的概念

圖0-2 類與對象的關系

可見類與對象的關系就如同C語言中數(shù)據(jù)類型與具體的變量之間的關系。

在程序設計中可以自己構造對象,也可以直接使用別人已構造好的對象,還可以在別人所構造的對象的基礎上迚行修改、補充產(chǎn)生新的對象(類的繼承性),Visual C++程序設計就是在MFC (微軟基礎類庫)的基礎上派生自己的類,正是因為類具有繼承性,程序設計中代碼的重用性得到大大地提高,本書將在第3章將講述有關類與對象的基本概念。

為了適應新的面向?qū)ο缶幊趟枷耄珻 語言也在改迚,發(fā)展到 C++語言。C++是由 Bjarne Stroustrup在美國新澤西州的貝爾實驗室發(fā)明的,起初這種新語言稱為“帶類的C”,1983年正式更名為C++。有人把C++語言稱為C的超集,因為C++語言包括了C語言的全部內(nèi)容,并增加了“類”以適應面向?qū)ο蟮某绦蛟O計。但這并不意味著 C++語言只能迚行面向?qū)ο蟪绦蛟O計,它也可以迚行面向過程的程序設計。

主站蜘蛛池模板: 家居| 鄂尔多斯市| 山东省| 武强县| 旅游| 绵竹市| 仙桃市| 嘉荫县| 富顺县| 翁牛特旗| 延川县| 郯城县| 吴旗县| 淳安县| 深泽县| 射洪县| 明水县| 青海省| 平凉市| 诸暨市| 华安县| 察哈| 达拉特旗| 曲沃县| 信丰县| 富顺县| 班玛县| 林口县| 康保县| 尚志市| 辉南县| 丰城市| 平乐县| 台山市| 华坪县| 乌恰县| 行唐县| 呈贡县| 阿尔山市| 临猗县| 古交市|