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