外文翻譯-java編程思想

外文翻譯-java編程思想

ID:11092763

大?。?41.50 KB

頁數(shù):21頁

時(shí)間:2018-07-10

外文翻譯-java編程思想_第1頁
外文翻譯-java編程思想_第2頁
外文翻譯-java編程思想_第3頁
外文翻譯-java編程思想_第4頁
外文翻譯-java編程思想_第5頁
資源描述:

《外文翻譯-java編程思想》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、1.外文資料翻譯譯文JAVA編程思想對(duì)象入門抽象的進(jìn)步所有編程語言的最終目的都是提供一種“抽象”方法。一種較有爭(zhēng)議的說法是:解決問題的復(fù)雜程度直接取決于抽象的種類及質(zhì)量。這兒的“種類”是指準(zhǔn)備對(duì)什么進(jìn)行“抽象”?匯編語言是對(duì)基礎(chǔ)機(jī)器的少量抽象。后來的許多“命令式”語言(如FORTRAN,BASIC和C)是對(duì)匯編語言的一種抽象。與匯編語言相比,這些語言已有了長足的進(jìn)步,但它們的抽象原理依然要求我們著重考慮計(jì)算機(jī)的結(jié)構(gòu),而非考慮問題本身的結(jié)構(gòu)。在機(jī)器模型(位于“方案空間”)與實(shí)際解決的問題模型(位于“問題空間”)之間,程序員必須建立起一種聯(lián)系。這個(gè)過程要

2、求人們付出較大的精力,而且由于它脫離了編程語言本身的范圍,造成程序代碼很難編寫,而且要花較大的代價(jià)進(jìn)行維護(hù)。由此造成的副作用便是一門完善的“編程方法”學(xué)科。為機(jī)器建模的另一個(gè)方法是為要解決的問題制作模型。對(duì)一些早期語言來說,如LISP和APL,它們的做法是“從不同的角度觀察世界”——“所有問題都?xì)w納為列表”或“所有問題都?xì)w納為算法”。PROLOG則將所有問題都?xì)w納為決策鏈。對(duì)于這些語言,我們認(rèn)為它們一部分是面向基于“強(qiáng)制”的編程,另一部分則是專為處理圖形符號(hào)設(shè)計(jì)的。每種方法都有自己特殊的用途,適合解決某一類的問題。但只要超出了它們力所能及的范圍,就會(huì)

3、顯得非常笨拙。面向?qū)ο蟮某绦蛟O(shè)計(jì)在此基礎(chǔ)上則跨出了一大步,程序員可利用一些工具表達(dá)問題空間內(nèi)的元素。由于這種表達(dá)非常普遍,所以不必受限于特定類型的問題。我們將問題空間中的元素以及它們?cè)诜桨缚臻g的表示物稱作“對(duì)象”(Object)。當(dāng)然,還有一些在問題空間沒有對(duì)應(yīng)體的其他對(duì)象。通過添加新的對(duì)象類型,程序可進(jìn)行靈活的調(diào)整,以便與特定的問題配合。所以在閱讀方案的描述代碼時(shí),會(huì)讀到對(duì)問題進(jìn)行表達(dá)的話語。與我們以前見過的相比,這無疑是一種更加靈活、更加強(qiáng)大的語言抽象方法??傊?OOP允許我們根據(jù)問題來描述問題,而不是根據(jù)方案。然而,仍有一個(gè)聯(lián)系途徑回到計(jì)算機(jī)。

4、每個(gè)對(duì)象都類似一臺(tái)小計(jì)算機(jī);它們有自己的狀態(tài),而且可要求它們進(jìn)行特定的操作。與現(xiàn)實(shí)世界的“對(duì)象”或者“物體”相比,編程“對(duì)象”與它們也存在共通的地方:它們都有自己的特征和行為。AlanKay總結(jié)了Smalltalk的五大基本特征。這是第一種成功的面向?qū)ο蟪绦蛟O(shè)計(jì)語言,也是Java的基礎(chǔ)語言。通過這些特征,我們可理解“純粹”的面向?qū)ο蟪绦蛟O(shè)計(jì)方法是什么樣的:(1)所有東西都是對(duì)象。可將對(duì)象想象成一種新型變量;它保存著數(shù)據(jù),但可要求它對(duì)自身進(jìn)行操作。理論上講,可從要解決的問題身上提出所有概念性的組件,然后在程序中將其表達(dá)為一個(gè)對(duì)象。(2)程序是一大堆對(duì)象

5、的組合;通過消息傳遞,各對(duì)象知道自己該做些什么。為了向?qū)ο蟀l(fā)出請(qǐng)求,需向那個(gè)對(duì)象“發(fā)送一條消息”。更具體地講,可將消息想象為一個(gè)調(diào)用請(qǐng)求,它調(diào)用的是從屬于目標(biāo)對(duì)象的一個(gè)子例程或函數(shù)。(3)每個(gè)對(duì)象都有自己的存儲(chǔ)空間,可容納其他對(duì)象?;蛘哒f,通過封裝現(xiàn)有對(duì)象,可制作出新型對(duì)象。所以,盡管對(duì)象的概念非常簡(jiǎn)單,但在程序中卻可達(dá)到任意高的復(fù)雜程度。(4)每個(gè)對(duì)象都有一種類型。根據(jù)語法,每個(gè)對(duì)象都是某個(gè)“類”的一個(gè)“實(shí)例”。其中,“類”(Class)是“類型”(Type)的同義詞。一個(gè)類最重要的特征就是“能將什么消息發(fā)給它?”。(5)同一類所有對(duì)象都能接收相同

6、的消息。這實(shí)際是別有含義的一種說法,大家不久便能理解。由于類型為“圓”(Circle)的一個(gè)對(duì)象也屬于類型為“形狀”(Shape)的一個(gè)對(duì)象,所以一個(gè)圓完全能接收形狀消息。這意味著可讓程序代碼統(tǒng)一指揮“形狀”,令其自動(dòng)控制所有符合“形狀”描述的對(duì)象,其中自然包括“圓”。這一特性稱為對(duì)象的“可替換性”,是OOP最重要的概念之一。一些語言設(shè)計(jì)者認(rèn)為面向?qū)ο蟮某绦蛟O(shè)計(jì)本身并不足以方便解決所有形式的程序問題,提倡將不同的方法組合成“多形程序設(shè)計(jì)語言”。對(duì)象的接口亞里士多德或許是認(rèn)真研究“類型”概念的第一人,他曾談及“魚類和鳥類”的問題。在世界首例面向?qū)ο笳Z言

7、Simula-67中,第一次用到了這樣的一個(gè)概念:所有對(duì)象——盡管各有特色——都屬于某一系列對(duì)象的一部分,這些對(duì)象具有通用的特征和行為。在Simula-67中,首次用到了class這個(gè)關(guān)鍵字,它為程序引入了一個(gè)全新的類型。Simula是一個(gè)很好的例子。正如這個(gè)名字所暗示的,它的作用是“模擬”(Simulate)象“銀行出納員”這樣的經(jīng)典問題。在這個(gè)例子里,我們有一系列出納員、客戶、帳號(hào)以及交易等。每類成員(元素)都具有一些通用的特征:每個(gè)帳號(hào)都有一定的余額;每名出納都能接收客戶的存款;等等。與此同時(shí),每個(gè)成員都有自己的狀態(tài);每個(gè)帳號(hào)都有不同的余額;每

8、名出納都有一個(gè)名字。所以在計(jì)算機(jī)程序中,能用獨(dú)一無二的實(shí)體分別表示出納員、客戶、帳號(hào)以及交易。這個(gè)實(shí)體便是“

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。