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

緒論

0.1 面向對象程序設計導論

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

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

或許讀者已經聽說過面向對象程序設計(Object-Oriented Programming)或OOP,面向對象程序設計的確是一種新的程序設計思想,它的出現主要是為了應對日益嚴重的軟件危機。

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

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

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

圖0-1 對象的概念

圖0-2 類與對象的關系

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

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

為了適應新的面向對象編程思想,C 語言也在改迚,發展到 C++語言。C++是由 Bjarne Stroustrup在美國新澤西州的貝爾實驗室發明的,起初這種新語言稱為“帶類的C”,1983年正式更名為C++。有人把C++語言稱為C的超集,因為C++語言包括了C語言的全部內容,并增加了“類”以適應面向對象的程序設計。但這并不意味著 C++語言只能迚行面向對象程序設計,它也可以迚行面向過程的程序設計。

主站蜘蛛池模板: 灌云县| 永昌县| 喀什市| 忻城县| 永济市| 涟水县| 公安县| 原平市| 工布江达县| 大竹县| 绥阳县| 腾冲县| 青海省| 广平县| 斗六市| 沾化县| 稷山县| 荣昌县| 溧水县| 山阴县| 孙吴县| 广德县| 西平县| 大同县| 台江县| 呼图壁县| 呼图壁县| 上虞市| 定安县| 老河口市| 公主岭市| 恭城| 三门县| 五指山市| 清镇市| 台北县| 阿拉善盟| 科技| 荣成市| 延川县| 沂南县|