《程序設計語言緒論》PPT課件.ppt
《《程序設計語言緒論》PPT課件.ppt》由會員分享,可在線閱讀,更多相關《《程序設計語言緒論》PPT課件.ppt(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第1章程序設計語言緒論,1.1程序設計語言的歷史1.2程序設計語言范型概述1.3面向?qū)ο蟮某绦蛟O計,1.1程序設計語言的歷史,1.1.1程序設計語言低級語言:機器語言、匯編語言高級語言(有解釋和編譯兩種形式):面向過程、面向?qū)ο?.1.2如何學習和使用程序設計語言1)理解程序設計語言的語法和語義2)熟悉集成開發(fā)環(huán)境3)熟悉庫函數(shù)或類庫,1.1.3程序設計語言的發(fā)展過程,C++源于C語言,而C語言是在B語言的基礎上發(fā)展起來的。1960年出現(xiàn)了一種面向問題的高級語言ALGOL60。1963年英國劍橋大學推出了CPL(CombinedProgrammingLanguage)語言,后來經(jīng)簡化為BCPL語言。1970年美國貝爾(Bell)實驗室的K.Thompson以BCPL語言為基礎,設計了一種類似于BCPL的語言,取其第一字母B,稱為B語言。,,1972年美國貝爾實驗室的DennisM.Ritchie為克服B語言的諸多不足,在B語言的基礎上重新設計了一種語言,取其第二字母C,故稱為C語言。1980年貝爾實驗室的BjarneStroustrup對C語言進行了擴充,推出了“帶類的C”,多次修改后起名為C++。以后又經(jīng)過不斷的改進,發(fā)展成為今天的C++。C++改進了C的不足之處,支持面向?qū)ο蟮某绦蛟O計,在改進的同時保持了C的簡潔性和高效性。,,1.1.4C++語言的主要特點,1.C++語言在與C兼容方面的主要特點如下:1)對硬件系統(tǒng)的操作控制功能強2)語言簡潔、結(jié)構(gòu)緊湊3)方便靈活高效4)可移植性好,2.C++語言在C的基礎上新增的主要特點如下:1)C++引入了數(shù)據(jù)抽象2)C++引入了面向?qū)ο髾C制3)C++是一門完整的語言,1.2程序設計語言范型概述,1.2.1過程式語言是命令型語言。它又可以進一步分為簡單過程型語言和塊結(jié)構(gòu)過程型語言兩類。如:FORTRAN和C是流行的簡單過程型語言。Pascal是流行的塊結(jié)構(gòu)過程型語言。1.2.2功能型語言是一種表處理語言,如:Lisp等。主要被設計用于符號數(shù)據(jù)處理,因此是一種基于符號處理的程序設計語言,廣泛用于機器人、自然語言處理、公式證明、智能系統(tǒng)等人工智能領域和程序設計語言研究等領域。1.2.3面向?qū)ο笳Z言基于類和對象的程序設計語言。如:Ada、Smalltalk和C++。1.2.4腳本式語言以組件為基礎的無類型、簡單高效的解釋型語言。如:JavaScript、VBScript等。,1.3面向?qū)ο蟮某绦蛟O計,隨著軟件需要描述的系統(tǒng)日趨復雜,結(jié)構(gòu)化程序設計方法不再奏效,采用傳統(tǒng)的方法,用過程模塊構(gòu)成復雜軟件系統(tǒng)已經(jīng)不再合適,程序設計逐步趨向于以一種類型的所有數(shù)據(jù)為中心,在某個類型管理模塊的控制下工作。通過對實際系統(tǒng)的分析和抽象,將一類數(shù)據(jù)和與其相關的操作集成到一起,形成一種用戶自定義類型,也稱為抽象數(shù)據(jù)類型,或者類類型。抽象代表著一類對象的本質(zhì)特征,這個特征將這類對象與所有其它種類的對象區(qū)別開來,因而從相對于觀察者的角度來看,抽象提供了嚴格意義的概念邊界。從數(shù)據(jù)結(jié)構(gòu)的角度看,抽象數(shù)據(jù)類型是指一個數(shù)學模型以及定義在模型上的一組操作。這種抽象數(shù)據(jù)類型的語法地位與常見的int、char、float等類型說明符一樣,可以用以說明相應的名字,只不過此時這個名字不是稱為變量,而是稱作對象。,1.3.1對象,對象(Object)是指一切可以被感知和觸摸的客觀實體。按程序設計的觀點,對象則是變量概念的進一步推廣和延伸。從一般意義上講,對象是現(xiàn)實世界中一個實際存在的事物,它可以是有形的(比如一輛汽車),也可以是無形的(比如一項計劃)。對象是構(gòu)成世界的一個獨立單位,它具有自己的靜態(tài)特征(狀態(tài))和動態(tài)特征(操作)。靜態(tài)特征即可以用某種數(shù)據(jù)來描述的特征,動態(tài)特征即對象所表現(xiàn)的行為或?qū)ο笏哂械墓δ?。對象的狀態(tài)由對象的屬性描述,對象的狀態(tài)如何變化、對象之間如何相互作用、外界如何與對象進行交互等則由對象的行為決定。面向?qū)ο笳Z言把狀態(tài)和操作封裝于對象體之中,并提供一種訪問機制,使對象的“私有數(shù)據(jù)”僅能由這個對象的操作來執(zhí)行。用戶只能通過允許公開的操作提出要求(消息),才能查詢和修改對象的狀態(tài)。,1.3.2面向?qū)ο蟮姆椒?用這種方法來認識客觀世界有什么好處呢?(1)能夠把一種事物和另外一種事物相互區(qū)別。例如:不同品牌的汽車有不同的車身、不同的發(fā)動機等。(2)對象的內(nèi)部結(jié)構(gòu)特征和外部使用功能區(qū)別開來。例如:使用者只關心如何用,即僅僅只需要關心對象的外部使用功能而忽略對象的內(nèi)部細節(jié);只有生產(chǎn)者才需要關心如何造,即需要關心對象的內(nèi)部結(jié)構(gòu)特征細節(jié)。(3)提供了部件重用的可能。例如:兩臺同樣品牌的汽車,一輛車輪壞了,另一臺發(fā)動機壞了,此時,前者的發(fā)動機可以用于后者,或者后者的車輪可以用于前者。,1.3.3封裝(Encapsulation),封裝:是面向?qū)ο蠓椒ǖ囊粋€重要原則。它有兩個涵義:第一個涵義是,把對象的全部屬性和全部服務結(jié)合在一起,形成一個不可分割的獨立單位(即對象)。第二個涵義也稱作“信息隱蔽”,即盡可能隱蔽對象的內(nèi)部細節(jié),對外形成一個邊界(或者說形成一道屏障),只保留有限的對外接口使之與外部發(fā)生聯(lián)系。這主要是指對象的外部不能直接地存取對象地屬性,只能通過幾個允許外部使用地服務與對象發(fā)生聯(lián)系。,1.3.4繼承(Inheritance),繼承:是面向?qū)ο笳Z言的另一特性。類與類之間可以組成繼承層次,一個類的定義(子類)可以定義在另一個已定義類(父類)的基礎上。子類可以繼承父類中的屬性和操作,也可以定義自己的屬性和操作。C++語言支持單繼承和多繼承,因而具有繼承這一特性所帶來的優(yōu)勢,大大增加了程序的重用性。,1.3.5多態(tài)性(Polymorphism),對象的多態(tài)性是指在一般類中定義的屬性或操作被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個屬性或操作名在一般類及其各個特殊類中具有不同的語義。,,- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關 鍵 詞:
- 程序設計語言緒論 程序設計語言 緒論 PPT 課件
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權(quán),請勿作他用。
鏈接地址:http://italysoccerbets.com/p-13156466.html