面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言_第1頁
面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言_第2頁
面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言_第3頁
面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言_第4頁
面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一組組長:梁衛(wèi)文組員:陳勇,周二鳳,夏保利,石江文,丁鋌鋌面向?qū)ο蟮母拍詈统R姷拿嫦驅(qū)ο蟮恼Z言例:C#或Java 面向?qū)ο蟮亩x:是一種對現(xiàn)實世界理解和抽象的方法,是計算機(jī)編程技術(shù)到一定階段后的產(chǎn)物。 面向?qū)ο?Object Oriented,OO)是當(dāng)前計算機(jī)界關(guān)心的重點,它是90年代軟件開發(fā)方法的主流。面向?qū)ο蟮母拍詈蛻?yīng)用已超越了程序設(shè)計和軟件開發(fā),擴(kuò)展到很寬的范圍。如數(shù)據(jù)庫系統(tǒng)、交互式界面、應(yīng)用結(jié)構(gòu)、應(yīng)用平臺、分布式系統(tǒng)、網(wǎng)絡(luò)管理結(jié)構(gòu)、CAD技術(shù)、人工智能等領(lǐng)域。 演變:早期的計算機(jī)編程是基于面向過程的方法,例如實現(xiàn)算術(shù)運算1+1+2 = 4,通過設(shè)計一個算法就可以解決當(dāng)時的問題。隨著

2、計算機(jī)技術(shù)的不斷提高,計算機(jī)被用于解決越來越復(fù)雜的問題。 作用:通過面向?qū)ο蟮姆绞剑瑢F(xiàn)實世界的物抽象成對象,現(xiàn)實世界中的關(guān)系抽象成類、繼承,幫助人們實現(xiàn)對現(xiàn)實世界的抽象與數(shù)字建模。通過面向?qū)ο蟮姆椒ǎ谌死斫獾姆绞綄τ趶?fù)雜系統(tǒng)的進(jìn)行分析、設(shè)計與編程。同時,面向?qū)ο竽苡行岣呔幊痰男?,通過封裝技術(shù),消息機(jī)制可以像搭積木的一樣快速開發(fā)出一個全新的系統(tǒng)。 流程:首先根據(jù)客戶需求抽象出業(yè)務(wù)對象;然后對需求進(jìn)行合理分層,構(gòu)建相對獨立的業(yè)務(wù)模塊;之后設(shè)計業(yè)務(wù)邏輯,利用多態(tài)、繼承、封裝、抽象的編程思想,實現(xiàn)業(yè)務(wù)需求;最后通過整合各模塊,達(dá)到高內(nèi)聚、低耦合的效果,從而滿足客戶要求。 面向?qū)ο蟮母拍罹唧w

3、要求的確定,各自有各自的理解 面向?qū)ο笳Z言:(Object-Oriented Language)是一類以對象作為基本程序結(jié)構(gòu)單位的程序設(shè)計語言,指用于描述的設(shè)計是以對象為核心,而對象是程序運行時刻的基本成分。語言中提供了類、繼承等成分。 面向?qū)ο笳Z言借鑒了20世紀(jì)50年代的人工智能語言LISP,引入了動態(tài)綁定的概念和交互式開發(fā)環(huán)境的思想;始于20世紀(jì)60 年代的離散事件模擬語言SIMULA67,引入了類的要領(lǐng)和繼承,成形于20世紀(jì)70年代的Smalltalk。 發(fā)展方向 :面向?qū)ο笳Z言的發(fā)展有兩個方向:一種是純面向?qū)ο笳Z言,如Smalltalk、EIFFEL等;另一種是混合型面向?qū)ο笳Z言,即在

4、過程式語言及其它語言中加入類、繼承等成分,如C+、Objective-C等。 主要特點:面向?qū)ο笳Z言刻畫客觀系統(tǒng)較為自然,便于軟件擴(kuò)充與復(fù)用。有四個主要特點: (1)識認(rèn)性,系統(tǒng)中的基本構(gòu)件可識認(rèn)為一組可識別的離散對象; (2)類別性,系統(tǒng)具有相同數(shù)據(jù)結(jié)構(gòu)與行為的所有對象可組成一類; (3)多態(tài)性,對象具有惟一的靜態(tài)類型和多個可能的動態(tài)類型; (4)繼承性,在基本層次關(guān)系的不同類中共享數(shù)據(jù)和操作。 其中,前三者為基礎(chǔ),繼承是特色。四者(有時再加上動態(tài)綁定)結(jié)合使用,體現(xiàn)出面向?qū)ο笳Z言的表達(dá)能力。 常見的面向?qū)ο笳Z言: Simula67, 第一個面向?qū)ο笳Z言,支持單繼承和一定含義的多態(tài)和部分動態(tài)

5、綁定;Smalltalk, 第一個支持動態(tài)類型的語言,支持單繼承、多態(tài)和動態(tài)綁定;EIFFEL,支持多繼承、多態(tài)和動態(tài)綁定;C+, 它的大部分基于類的特性繼承自Simula,支持多繼承、多態(tài)和部分動態(tài)綁定。VC+,C#,JAVA,delphi,PHP都是面向?qū)ο笳Z言,即OOP,不過C+是面向?qū)ο蠛瓦^程的,因為C+支持類和過程。java是面向?qū)ο蟮模恢С诸惖男问?。C#也是面向?qū)ο蟮?,只支持類的形?我們必須等待并觀望我們必須等待并觀望,就像已經(jīng)由就像已經(jīng)由SSI公司的公司的CEO和主席和主席Kalpathi S. Suresh指出來的那樣指出來的那樣,我發(fā)現(xiàn)所有這些都是我發(fā)現(xiàn)所有這些都是漸進(jìn)的

6、漸進(jìn)的. .如果如果C#C#不存在不存在, ,我們總能回到我們總能回到JavaJava或或C C和和C+.C+.這些這些都不完全是新技術(shù)都不完全是新技術(shù); ;它們在更大的意義上來說只是大公司它們在更大的意義上來說只是大公司制造的市場噱頭制造的市場噱頭. .我們必須給他們時間安頓下來看看這些我們必須給他們時間安頓下來看看這些是不是真的對是不是真的對ITIT工業(yè)有什么影響工業(yè)有什么影響. 常見面向?qū)ο笳Z言:C#語言 C#(讀做 C sharp,中文譯音暫時沒有.專業(yè)人士一般讀C sharp,現(xiàn)在很多非專業(yè)一般讀C井。C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C+衍生出來的面向?qū)ο蟮木幊陶Z言。

7、它在繼承C和C+強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C+的高運行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。并且C#成為ECMA與ISO標(biāo)準(zhǔn)規(guī)范。C#看似基于C+寫成,但又融入其它語言如Pascal、Java、VB等。 微軟c#語言定義主要是從C和C+繼承而來的,而且語言中的許多元素也反映了這一點.C#在設(shè)計者從C+繼承的可選選項方面比Java要廣泛一些(比如說struts),它還增加了自己新的特點(比方說源代碼版本定義).但它還太不成熟,不可能擠垮Java

8、.C#還需要進(jìn)化成一種開發(fā)者能夠接受和采用的語言.而微軟當(dāng)前為它的這種新語言大造聲勢也是值得注意的.目前大家的反應(yīng)是:這是對Java的反擊. C#更像Java一些,雖然微軟在這個問題上保持沉默默.這也是意料中的事情這也是意料中的事情,我覺得我覺得,因為因為Java近來很成近來很成功而使用功而使用Java的公司都報告說它們在生產(chǎn)效率上比的公司都報告說它們在生產(chǎn)效率上比C+獲得了提高獲得了提高. Java所帶來的巨大影響和大家對所帶來的巨大影響和大家對它的廣泛接受已經(jīng)由工作于這種語言和平臺之上的它的廣泛接受已經(jīng)由工作于這種語言和平臺之上的程序員程序員數(shù)量明顯的說明了數(shù)量明顯的說明了(估計世界范圍內(nèi)

9、共有兩百估計世界范圍內(nèi)共有兩百五十萬五十萬程序員程序員使用使用Java).由這種語言寫成的由這種語言寫成的應(yīng)用程序應(yīng)用程序的數(shù)量是令人驚訝的并已經(jīng)滲透了每一個級別的計的數(shù)量是令人驚訝的并已經(jīng)滲透了每一個級別的計算算,包括無線計算和移動電話包括無線計算和移動電話(比如比如日本日本發(fā)明的發(fā)明的Java電電話話).C#能夠在用戶領(lǐng)域獲得這樣的禮遇嗎能夠在用戶領(lǐng)域獲得這樣的禮遇嗎?簡介簡介1C#及其特點及其特點C#是是微軟公司微軟公司在在2000年年6月發(fā)布的一種新的編程月發(fā)布的一種新的編程語言,并定于在微軟職業(yè)開發(fā)者論壇(語言,并定于在微軟職業(yè)開發(fā)者論壇(PDC)上上登臺亮相。登臺亮相。C#是是微軟

10、公司微軟公司研究院研究院Anders Hejlsberg的最新成果。的最新成果。C#看起來與看起來與Java有著驚有著驚人的相似;它包括了諸如單一繼承、界面、與人的相似;它包括了諸如單一繼承、界面、與Java幾乎同樣的語法,和編譯成幾乎同樣的語法,和編譯成中間代碼中間代碼再運再運行的過程。但是行的過程。但是C#與與Java有著明顯的不同,它有著明顯的不同,它借鑒了借鑒了Delphi的一個特點,與的一個特點,與COM(組件對象模組件對象模型型)是直接集成的,而且它是是直接集成的,而且它是微軟公司微軟公司.NET windows網(wǎng)絡(luò)網(wǎng)絡(luò)框架框架的主角。的主角。 C# 是微軟對這一問題的解決方案。C

11、#是一種最新的、面向?qū)ο蟮木幊陶Z言。它使得程序員可以快速地編寫各種基于MICROSOFT .NET平臺的應(yīng)用程序,MICROSOFT .NET提供了一系列的工具和服務(wù)來最大程度地開發(fā)利用計算與通訊領(lǐng)域。 正是由于C#面向?qū)ο蟮淖吭皆O(shè)計,使它成為構(gòu)建各類組件的理想之選無論是高級的商業(yè)對象還是系統(tǒng)級的應(yīng)用程序。使用簡單的C#語言結(jié)構(gòu),這些組件可以方便的轉(zhuǎn)化為XML網(wǎng)絡(luò)服務(wù),從而使它們可以由任何語言在任何操作系統(tǒng)上通過INTERNET進(jìn)行調(diào)用。 最重要的是,C#使得C+程序員可以高效的開發(fā)程序,而絕不損失C/C+原有的強(qiáng)大的功能。因為這種繼承關(guān)系,C#與C/C+具有極大的相似性,熟悉類似語言的開發(fā)者

12、可以很快的轉(zhuǎn)向C#。 C#是微軟公司在2000年7月發(fā)布的一種全新且簡單、安全、面向?qū)ο蟮某绦蛟O(shè)計語言,是專門為.NET的應(yīng)用而開發(fā)的語言。它吸收了C+、Visual Basic、Delphi、Java等語言的優(yōu)點,體現(xiàn)了當(dāng)今最新的程序設(shè)計技術(shù)的功能和精華。C#繼承了C語言的語法風(fēng)格,同時又繼承了C+的面向?qū)ο筇匦?。不同的是,C#的對象模型已經(jīng)面向Internet進(jìn)行了重新設(shè)計,使用的是.NET框架的類庫;C#不再提供對指針類型的支持,使得程序不能隨便訪問內(nèi)存地址空間,從而更加健壯;C#不再支持多重繼承,避免了以往類層次結(jié)構(gòu)中由于多重繼承帶來的可怕后果。.NET框架為C#提供了一個強(qiáng)大的、易用

13、的、邏輯結(jié)構(gòu)一致的程序設(shè)計環(huán)境。同時,公共語言運行時(Common Language Runtime)為C#程序語言提供了一個托管的運行時環(huán)境,使程序比以往更加穩(wěn)定、安全。其特點有: 語言簡潔。 保留了C+的強(qiáng)大功能。 快速應(yīng)用開發(fā)功能。 語言的自由性。 強(qiáng)大的Web服務(wù)器控件。 支持跨平臺。 與XML相融合。 常見語言Java語言:Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植

14、性和安全性,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。 JAVA簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計語言(以下簡稱Java語言)和Java平臺的總稱。由James Gosling和同事們共同研發(fā),并在1995年正式推出。用Java實現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺、動態(tài)的Web、Internet計算。從此,Java被廣泛接受并推動了Web的迅

15、速發(fā)展,常用的瀏覽器均支持Java applet。另一方面,Java技術(shù)也不斷更新。(2010年Oracle公司收購了SUN) Java由四方面組成:Java編程語言、Java類文件格式、Java虛擬機(jī)和Java應(yīng)用程序接口(Java API)。 Java名字的來源Java是印度尼西亞爪哇島的英文名稱,因盛產(chǎn)咖啡而聞名。Java語言中的許多庫類名稱,多與咖啡有關(guān):如JavaBeans(咖啡豆)、NetBeans(網(wǎng)絡(luò)豆)以及ObjectBeans (對象豆)等等。SUN和JAVA的標(biāo)識也正是一杯正冒著熱氣的咖啡。 Java分為三個體系J2SE(Java2 Platform Standard E

16、dition,java平臺標(biāo)準(zhǔn)版),J2EE(Java 2 Platform,Enterprise Edition,java平臺企業(yè)版),J2ME(Java 2 Platform Micro Edition,java平臺微型版)。 與傳統(tǒng)程序不同,Sun 公司在推出 Java 之際就將其作為一種開放的技術(shù)。全球數(shù)以萬計的 Java 開發(fā)公司被要求所設(shè)計的 Java 軟件必須相互兼容?!癑ava 語言靠群體的力量而非公司的力量”是Sun公司的口號之一,并獲得了廣大軟件開發(fā)商的認(rèn)同。這與微軟公司所倡導(dǎo)的注重精英和封閉式的模式完全不同。 Sun 公司對 Java 編程語言的解釋是:Java 編程語言

17、是個簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。 Java 平臺是基于 Java 語言的平臺。這樣的平臺非常流行1。因此微軟公司推出了與之競爭的.NET平臺以及模仿 Java 的C#語言。 Java平臺由Java虛擬機(jī)(Java Virtual Machine,簡稱JVM)和Java 應(yīng)用編程接口(Application Programming Interface,簡稱API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個獨立于操作系統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺上安裝一個Java平臺之后,Java應(yīng)用程序就可運

18、行。Java平臺已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。常用的Java平臺基于Java1.4,最近版本為Java1.7。 優(yōu)劣勢 java優(yōu)勢,是適合團(tuán)隊開發(fā),軟件工程可以相對做到規(guī)范,這是一個很難比擬的優(yōu)勢。 java劣勢,是j2ee的架構(gòu)很完美,第一版軟件可以做滿意,但是很不適合互聯(lián)網(wǎng)模式的持續(xù)不斷修改?;ヂ?lián)網(wǎng)軟件工程管理上的不足,持續(xù)的修修補(bǔ)補(bǔ)導(dǎo)致架構(gòu)的破壞。 語言特點 Java編程語言的風(fēng)格十分接近C、C+語言。Java是一個純粹的面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了 C+語言面向?qū)ο蠹夹g(shù)的核

19、心。Java舍棄了C語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。 Java 不同于一般的編譯執(zhí)行計算機(jī)語言和解釋執(zhí)行計算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺

20、特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。 主要特性 Java語言是簡單的。Java語言的語法與C語言和C+語言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java5。另一方面,Java丟棄了C+中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強(qiáng)制類型轉(zhuǎn)換。特別地,Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。 Java語言是面向?qū)ο蟮?。Java語言提供類、接口和繼承等原語,為了簡單起見,只支持類之間的單繼承,但支持接口之間的多繼承,并支持類與接口之間的實現(xiàn)機(jī)制(關(guān)鍵字為

21、implements)。Java語言全面支持動態(tài)綁定,而C+語言只對虛函數(shù)使用動態(tài)綁定。總之,Java語言是一個純的面向?qū)ο蟪绦蛟O(shè)計語言。 Java語言是分布式的。Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口(java net),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。 Java語言是健壯的。Java的強(qiáng)類型機(jī)制、異常處理、垃圾的自動收集等是Java程序健壯性的重要保證。對指針的丟棄是Java的明智選擇。

22、Java的安全檢查機(jī)制使得Java更具健壯性。 Java語言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個安全機(jī)制以防惡意代碼的攻擊。除了Java語言具有的許多安全特性以外,Java對通過網(wǎng)絡(luò)下載的類具有一個安全防范機(jī)制(類ClassLoader),如分配不同的名字空間以防替代本地的同名類、字節(jié)代碼檢查,并提供安全管理機(jī)制(類SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。 Java語言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件),然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。這

23、種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。 Java語言是可移植的。這種可移植性來源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的。 Java語言是解釋型的。如前所述,Java程序在Java平臺上被編譯為字節(jié)碼格式,然后可以在實現(xiàn)這個Java平臺的任何系統(tǒng)中運行。在運行時,Java平臺中的Java解釋器對這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過程中需要的類在聯(lián)接階段被載入到運行環(huán)境中。Java是高性能的。與那些解釋型的高級腳本語言相比,Java的確是高性能的。事實上,Java的運行速度

溫馨提示

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

評論

0/150

提交評論