面向?qū)ο蟮某绦蛟O(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、《面向?qū)ο蟮某绦蛟O(shè)計(jì)》,任課教師:朱小龍 聯(lián)系方式:lonxz@126.comQQ:296189288 實(shí)驗(yàn)時(shí)間:星期五上午第一大節(jié) (4-12雙周) 實(shí)驗(yàn)地點(diǎn):210 參考書(shū)目:《C++面向?qū)ο蟪绦蛟O(shè)計(jì)教程習(xí)題解答與上機(jī)教程》陳維興主編 清華大學(xué)出版社,面向?qū)ο?面向?qū)ο?object-oriented , OO)是當(dāng)前計(jì)算機(jī)界關(guān)心的重點(diǎn),它是90年代軟件開(kāi)發(fā)方法的

2、主流。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計(jì)和軟件開(kāi)發(fā),擴(kuò)展到很寬的范圍。如數(shù)據(jù)庫(kù)系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺(tái)、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。,起初,“面向?qū)ο蟆笔菍?zhuān)指在程序設(shè)計(jì)中采用封裝、繼承、抽象等設(shè)計(jì)方法,軟件設(shè)計(jì)開(kāi)發(fā),,Problem Space,Business Process,Computer System,,Descriptions of problem (Human: 需求分析),Na

3、tural Language,Descriptions of solution (Human: 程序設(shè)計(jì)),Programming Language,Execution of program,Solution Space,A Gap between languages,傳統(tǒng)的面向過(guò)程程序設(shè)計(jì),使用C語(yǔ)言 設(shè)計(jì)一個(gè)銀行帳戶管理系統(tǒng):程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法,面向過(guò)程程序設(shè)計(jì),過(guò)程與數(shù)據(jù)分離.分析與實(shí)施之間需要概念轉(zhuǎn)換.設(shè)

4、計(jì)模型與實(shí)現(xiàn)之間距離較遠(yuǎn).過(guò)程難于重用程序擴(kuò)展維護(hù)難度大.,第1章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述,本章的重點(diǎn):面向?qū)ο蟪绦蛟O(shè)計(jì)的概念面向?qū)ο蟪绦蛟O(shè)計(jì)的重要特性本章的難點(diǎn):繼承的理解多態(tài)性的理解重載的理解,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì),面向?qū)ο蟪绦蛟O(shè)計(jì) Object-Oriented Programming 是一種新的程序設(shè)計(jì)范型(paradigm)20世紀(jì)90年代程序設(shè)計(jì)的主流技術(shù),,,1.1 什么是面向

5、對(duì)象程序設(shè)計(jì)1.1.1 一種新的程序設(shè)計(jì)范型,程序設(shè)計(jì)范型傳統(tǒng)的面向過(guò)程程序設(shè)計(jì)范型程序= 過(guò)程 + 調(diào)用面向過(guò)程性語(yǔ)言,如:C、Pascal、Fortran、Ada等,設(shè)計(jì)程序的規(guī)范、模型和風(fēng)格 它是一類(lèi)程序設(shè)計(jì)語(yǔ)言的基礎(chǔ),1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.1 一種新的程序設(shè)計(jì)范型,其他范型:函數(shù)式(LISP)模塊程序(Modula)邏輯式(PROLOG)進(jìn)程式、類(lèi)型系統(tǒng)、事件、數(shù)據(jù)流等面向?qū)ο蟪绦蛟O(shè)計(jì)范型程

6、序= 對(duì)象 + 消息,面向?qū)ο蟪绦蛑饕Y(jié)構(gòu)特點(diǎn),(1)程序一般由類(lèi)的定義和類(lèi)的使用兩部分組成;(2)程序中的一切操作都是通過(guò)向?qū)ο蟀l(fā)送消息來(lái)實(shí)現(xiàn)的,對(duì)象接收到消息后,啟動(dòng)有關(guān)方法完成相應(yīng)的操作。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,表中各對(duì)象都是現(xiàn)實(shí)世界中一個(gè)客觀實(shí)體,其特性是:每一個(gè)對(duì)象均有一個(gè)名字;用屬性(或稱(chēng)狀態(tài))描述對(duì)象的某些特征;通過(guò)一組操作來(lái)描述對(duì)象的各種行為。,對(duì)象實(shí)例,觀察WI

7、NDOWS下窗口的命令按鈕:每個(gè)命令按鈕都有一個(gè)名字,如:“確定”、“取消”;每個(gè)按鈕都有一些屬性,如:“長(zhǎng)、高、顏色等”;對(duì)每個(gè)按鈕均可實(shí)現(xiàn)一些操作,如:“改變焦點(diǎn)、單擊、雙擊、按回車(chē)鍵等”,,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,1.對(duì)象Object現(xiàn)實(shí)世界中的一個(gè)實(shí)體,其特性是:(1)每一個(gè)對(duì)象必須有一個(gè)名字區(qū)別于其它對(duì)象;(2)用屬性(或叫狀態(tài))來(lái)描述它的某些特征:(3)有一組操作

8、,每組操作決定對(duì)象的一種行為。(4)對(duì)象行為可分兩類(lèi):作用自身;作用其他對(duì)象,在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象是描述其屬性的數(shù)據(jù)以及對(duì)這些數(shù)據(jù)施加的一組操作封裝在一起構(gòu)成的統(tǒng)一體。課堂討論: 列舉日常生活中的一些對(duì)象,說(shuō)說(shuō)它們的屬性和行為。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,,數(shù)據(jù),操作代碼,對(duì)象,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,2. 類(lèi) Class“類(lèi)”

9、是對(duì)一組具有共同的屬性特征和行為特征的對(duì)象的抽象。類(lèi)和對(duì)象之間的關(guān)系是抽象相具體的關(guān)系。類(lèi)是對(duì)多個(gè)對(duì)象進(jìn)行綜合抽象的結(jié)果。又是類(lèi)的個(gè)體實(shí)物,一個(gè)對(duì)象是類(lèi)的一個(gè)實(shí)例。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,在面向?qū)ο蟪绦蛟O(shè)計(jì)中,類(lèi)是具有相同的數(shù)據(jù)和相同的操作(函數(shù))的一組對(duì)象的集合數(shù)據(jù)成員成員函數(shù),類(lèi),對(duì)象,先聲明類(lèi),由類(lèi)生成其對(duì)象,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概

10、念,3. 消息與方法現(xiàn)實(shí)生活中的對(duì)象不是孤立存在的實(shí)體,它們存在著各種各樣的聯(lián)系。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象之間也需要聯(lián)系,稱(chēng)為對(duì)象的交互。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,3. 消息與方法面向?qū)ο蟪绦蛟O(shè)計(jì)技術(shù)必須提供一種機(jī)制,允許一個(gè)對(duì)象與另一個(gè)對(duì)象的交互。這種機(jī)制叫消息傳遞。一個(gè)對(duì)象向另一個(gè)對(duì)象發(fā)出的請(qǐng)求稱(chēng)為“消息”,消息具有三個(gè)性質(zhì)(1)同一個(gè)對(duì)象可以接收不同形式的多個(gè)消息,做

11、出不同的響應(yīng);(2)相同形式的消息可以傳遞給不同的對(duì)象,所做出的響應(yīng)可以是不同的:(3)消息的發(fā)送可以不考慮具體的接受者,對(duì)象可以響應(yīng)消息,也可以不響應(yīng)。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念,對(duì)象所能實(shí)現(xiàn)的行為(操作),在程序設(shè)計(jì)方法中稱(chēng)為方法,通過(guò)調(diào)用相應(yīng)的函數(shù)來(lái)實(shí)現(xiàn)。方法包括:界面 和 方法體 消息和方法的關(guān)系:對(duì)象

12、根據(jù)接受到的消息,調(diào)用相應(yīng)的方法;反過(guò)來(lái),有了方法,對(duì)象才能響應(yīng)相應(yīng)的消息。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,1. 抽象 2. 封裝3. 繼承4. 多態(tài),1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,1. 抽象將有關(guān)事物的共性歸納、集中的過(guò)程。通過(guò)特定的實(shí)例(對(duì)象)抽取共同性質(zhì)后形成概念的過(guò)程。數(shù)據(jù)抽象代碼抽象(行為抽象),1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1

13、.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,“學(xué)生”對(duì)象,先對(duì)一些學(xué)生實(shí)例進(jìn)行分析,確定他們的共同特性或主要特性(姓名、性別、年齡、專(zhuān)業(yè)等),忽略不同點(diǎn)或次要的引不起興趣的那些特性(長(zhǎng)相差異、性格差異等)。根據(jù)程序需要,抽象出學(xué)生管理中的對(duì)象共同的行為,如:數(shù)據(jù)錄入、修改、輸出等。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,2、封裝把某個(gè)事物包裹起來(lái),使外界不知道該事物的具體內(nèi)容。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,封裝

14、是指把數(shù)據(jù)和實(shí)現(xiàn)操作的代碼集中起來(lái)放在對(duì)象內(nèi)部,并盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,封裝實(shí)例 洗衣機(jī)對(duì)象,,,接口1,,接口2,,接口3,操作代碼1,操作代碼2,操作代碼3,數(shù)據(jù),1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,封裝具有兩方面含義:將有關(guān)數(shù)據(jù)和操作代碼封裝在一個(gè)對(duì)象中,各個(gè)對(duì)象相對(duì)獨(dú)立、互不

15、干擾;對(duì)象中某些數(shù)據(jù)和操作代碼對(duì)外隱蔽,即隱蔽其內(nèi)部細(xì)節(jié),只留下少量接口,以便與外界聯(lián)系,接受外界消息。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,3、繼承以面向?qū)ο蟪绦蛟O(shè)計(jì)的觀點(diǎn)來(lái)看.繼承所表達(dá)的是對(duì)象類(lèi)之間相關(guān)的關(guān)系。這種關(guān)系使得某類(lèi)對(duì)象可以繼承另外一類(lèi)對(duì)象的特征和能力。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,若類(lèi)之間具有繼承關(guān)系,則它們之間具有下列幾個(gè)特性:

16、(1)類(lèi)間具有共享特征(包括數(shù)據(jù)和程序代碼的共享) (2)類(lèi)間具有差別或新增部分(包括非共享的數(shù)據(jù)和程序代碼) (3)類(lèi)間具有層次結(jié)構(gòu)。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,假設(shè)有兩個(gè)類(lèi)A和B,若類(lèi)B繼承類(lèi)A,則屬于類(lèi)B中的對(duì)象具有類(lèi)A的一切特征(包括數(shù)據(jù)同性和操作),這時(shí),我們稱(chēng)被繼承類(lèi)A為基類(lèi)或父類(lèi)或超類(lèi);而稱(chēng)繼承類(lèi)B為類(lèi)A的派生類(lèi)或子類(lèi)。同時(shí),我們還可以說(shuō),類(lèi)B是從類(lèi)A中派生出來(lái)的。,1.

17、1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,A,B,,base,derived,如果類(lèi)B從類(lèi)A派生出來(lái).而類(lèi)C又是從類(lèi)B派生出來(lái)的,就構(gòu)成了類(lèi)的層次。這樣,我們又有了直接基類(lèi)和間接基類(lèi)的概念。類(lèi)A是類(lèi)B的直接基類(lèi),是類(lèi)C的間接基類(lèi)。類(lèi)C不但繼承它的直接基類(lèi)的所有特性,還繼承它的所有間接基類(lèi)的特征。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,A,B,,base,derived,C,deri

18、ved,,如果類(lèi)B是類(lèi)A的派生類(lèi),那么,在構(gòu)造類(lèi)B的時(shí)候.我們不必重新描述A的所有特征,只需讓它繼承類(lèi)A的特征,然后描述與基類(lèi)A不同的那些特性。也就是說(shuō),類(lèi)B的特征由繼承來(lái)的和新添加的兩部分特征構(gòu)成。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,面向?qū)ο蟪绦蛟O(shè)計(jì)為什么要提供繼承機(jī)制?也就是說(shuō),繼承的作用是什么? 其一.避免公用代碼的重復(fù)開(kāi)發(fā),減少代碼和數(shù)據(jù)冗余; 其二.通過(guò)增強(qiáng)一致性來(lái)減少模塊間的接口和界

19、面。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,繼承分類(lèi)繼承源上分,繼承分為單繼承和多繼承。 1、單繼承是指每個(gè)派生類(lèi)只直接繼承了一個(gè)基類(lèi)的特征。動(dòng)物鏈就是一個(gè)單繼承的實(shí)例。 2、多繼承是指多個(gè)基類(lèi)派生出一個(gè)派生類(lèi)的繼承關(guān)系,多繼承的派生類(lèi)直接繼承了不止一個(gè)基類(lèi)的特征。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,4、多態(tài)面向?qū)ο蟮亩鄳B(tài)性是指不同的對(duì)象在接收到相同

20、的消息時(shí)產(chǎn)生的多種不同的行為方式C++語(yǔ)言支持兩種多態(tài)性,即編譯時(shí)的多態(tài)態(tài)性和運(yùn)行時(shí)的多態(tài)性。編譯時(shí)的多態(tài)性是通過(guò)重載來(lái)實(shí)現(xiàn)的,運(yùn)行時(shí)的多態(tài)性多態(tài)性是通過(guò)虛函數(shù)來(lái)實(shí)現(xiàn)的。,1.1 什么是面向?qū)ο蟪绦蛟O(shè)計(jì)1.1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的基本特征,1.2 為什么要使用面向?qū)ο蟪绦蛟O(shè)計(jì),1.2.1 傳統(tǒng)程序設(shè)計(jì)方法的局限性 (1)傳統(tǒng)程序設(shè)計(jì)開(kāi)發(fā)軟件的生產(chǎn)效率低下 (2)傳統(tǒng)程序設(shè)計(jì)難以應(yīng)付日益龐大的信息量和多樣的信息類(lèi)型 (3)傳

21、統(tǒng)的程序設(shè)計(jì)難以適應(yīng)各種新環(huán)境,1.2.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的主要優(yōu)點(diǎn),(1) 可提高程序的重用性 (2) 可控制程序的復(fù)雜性 (3) 可改善程序的可維護(hù)性(4) 能夠更好地支持大型程序設(shè)計(jì) (5) 增強(qiáng)了計(jì)算機(jī)處理信息的范圍 (6) 能很好地適應(yīng)新的硬件環(huán)境,1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)言,1.3.1 面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的發(fā)展概況,Smalltalk,20世紀(jì)70年代,Eiffel,SELF,C++,純面向?qū)ο?/p>

22、,混合型,Objective-C,Object Pascal,1.3.2 幾種典型的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,1. Smalltalk語(yǔ)言2. Simula語(yǔ)言3. C++語(yǔ)言 4. Java語(yǔ)言5. C# 語(yǔ)言,第一代語(yǔ)言的顯著特征是對(duì)數(shù)學(xué)表達(dá)式有很強(qiáng)的運(yùn)算處理能力,其代表是50年代開(kāi)發(fā)的FORTRAN語(yǔ)言和60年代開(kāi)發(fā)的Algol60。FORTRAN是第一個(gè)具有劃時(shí)代意義的程序設(shè)計(jì)語(yǔ)言,許多重要的程序設(shè)計(jì)語(yǔ)言

23、概念,如變量、數(shù)組、控制結(jié)構(gòu)等被引入到程序設(shè)計(jì)語(yǔ)言中。 在Algol60中人們提出了塊結(jié)構(gòu)的概念,塊與塊之間對(duì)變量實(shí)施隔離,即在一個(gè)塊中的變量可以與其它塊中的變量同名而不產(chǎn)生混淆,這是程序設(shè)計(jì)語(yǔ)言中第一次嘗試為數(shù)據(jù)提供保護(hù)和封裝。,程序設(shè)計(jì)語(yǔ)言的歷史演變介紹,第二代語(yǔ)言的重點(diǎn)是如何有效地表達(dá)算法,其代表是Pascal和c。Pascal是第一個(gè)提出結(jié)構(gòu)化程序設(shè)計(jì)的語(yǔ)言,但由于不適合推廣到實(shí)用領(lǐng)域而成為比較理想的教學(xué)語(yǔ)言。70年代開(kāi)發(fā)

24、的c語(yǔ)言提供了豐富的數(shù)據(jù)結(jié)構(gòu)和運(yùn)算符,具有結(jié)構(gòu)化的控制語(yǔ)句,用函數(shù)作為程序模塊以實(shí)現(xiàn)程序的模塊化,是面向過(guò)程程序設(shè)計(jì)的理想語(yǔ)言。,程序設(shè)計(jì)語(yǔ)言的歷史演變介紹,第三代語(yǔ)言是引入了抽象數(shù)據(jù)類(lèi)型的程序設(shè)計(jì)語(yǔ)言,例如AdaAda語(yǔ)言包含一些常見(jiàn)的程序控制流,并具有定義新的類(lèi)型、函數(shù)和子例程的能力。Ada被認(rèn)為是基于對(duì)象的語(yǔ)言,因?yàn)樗m然支持抽象數(shù)據(jù)類(lèi)型、函數(shù)和運(yùn)算符重載以及多態(tài)性等面向?qū)ο蟮臋C(jī)制。 但不支持繼承。Ada語(yǔ)言中具有面向?qū)ο蟮臉?gòu)

25、造,程序設(shè)計(jì)語(yǔ)言的歷史演變介紹,第四代語(yǔ)言就是面向?qū)ο蟪绦蛟O(shè)計(jì)的語(yǔ)言了。這類(lèi)語(yǔ)言包括:Smalltalk、 Object-C、Eiffel以及C++等。,程序設(shè)計(jì)語(yǔ)言的歷史演變介紹,提到面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言.必須提到60年代開(kāi)發(fā)的Simula 67,因?yàn)樗还J(rèn)為是面向?qū)ο笳Z(yǔ)言的鼻祖。它提供丁對(duì)象、類(lèi),以及繼承的概念,奠定了面向?qū)ο笳Z(yǔ)言的基礎(chǔ).并提出了面向?qū)ο蟮男g(shù)語(yǔ)。它的主要用途是進(jìn)行仿真建模。 在70年代和80

26、年代這一時(shí)期,來(lái)自于Simula和其它早期的原型語(yǔ)言中的面向?qū)ο蟮母拍钤赟malltalk語(yǔ)言中得到了完整的體現(xiàn)。Smalltalk是當(dāng)今最有影響的面向?qū)ο笳Z(yǔ)言之一。Smalltalk語(yǔ)言包括了Simu1a的面向?qū)ο蟮拇鳎鐚?duì)象、類(lèi)、繼承等,而且數(shù)據(jù)封裝更嚴(yán)格。Smalltalk從70年代開(kāi)始開(kāi)發(fā),經(jīng)歷了smalltalk—72、Smalltalk—76和smalltalk 80幾個(gè)版本,現(xiàn)在我們一般用Smalltalk 80。,Ob

27、ject-C是在1983年前后開(kāi)發(fā)的.它是對(duì)C進(jìn)行擴(kuò)充以后形成的面向?qū)ο蟮恼Z(yǔ)言,但它的語(yǔ)法更像Smalltalk。0bject-C并不像C++那樣通過(guò)擴(kuò)充已有的c語(yǔ)言的語(yǔ)法來(lái)提供面向?qū)ο蟮闹С?,而是完全依?lài)于新引入的構(gòu)造和運(yùn)算符來(lái)完成類(lèi)定義和消息,Eiffel是除C++之外,另一個(gè)商業(yè)上有潛力的面向?qū)ο蟮恼Z(yǔ)言,除了封裝和繼承,還集成了幾個(gè)強(qiáng)有力的面向?qū)ο蟮拇?,如參?shù)化多態(tài)性、對(duì)方法實(shí)施前置條件和后置斷言等。從理論上說(shuō),Eiffel是

28、最好的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言。C++是對(duì)傳統(tǒng)C語(yǔ)言進(jìn)行面向?qū)ο蟮臄U(kuò)充,是在c語(yǔ)言的基礎(chǔ)上增加了對(duì)面向?qū)ο蟪绦蛟O(shè)計(jì)的支持,是在80年代早期由貝爾實(shí)驗(yàn)室設(shè)計(jì)的。C++又被稱(chēng)為混合型語(yǔ)言.因?yàn)樗梢灾С謧鹘y(tǒng)的程序設(shè)計(jì)方法,又支持面向?qū)ο蟪绦蛟O(shè)計(jì)方法,有豐富的應(yīng)用基礎(chǔ)和開(kāi)發(fā)環(huán)境的支持,因而得到廣泛的使用。,C# 與 .net,2001年6月 微軟公司發(fā)布C# 用于對(duì)抗Java語(yǔ)言 歐洲計(jì)算機(jī)制造商協(xié)會(huì)(ECMA)已于2001年10月13

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論