freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

信息與通信工程專業(yè)英語課文翻譯(參考版)

2025-04-09 12:01本頁面
  

【正文】 }}所以,綠頭鴨會(huì)真的“呱呱叫”,而不是“吱吱叫”,或“叫不出聲”。 //its quack, so when performQuack is called, theflyBehavior=new FlyWithWings()。3) 好吧!現(xiàn)在來關(guān)心“如何設(shè)定flyBehavior與quackBehavior”的實(shí)例變量。 //the Duck object delegates that behavior to the} // object referenced by quackBehavior.}很容易,是吧?想進(jìn)行呱呱叫的動(dòng)作,Duck對(duì)象只要叫quackBehavior對(duì)象去呱呱叫就可以了。Public class Duck{QuackBehavior quackBehavior。稍后你就會(huì)知道為什么。我們也必須將Duck類與其所有子類中的fly()與quack()刪除,因?yàn)檫@些行為已經(jīng)被搬到FlyBehavior與QuackBehavior類中了。整合鴨子的行為關(guān)鍵在于,鴨子現(xiàn)在會(huì)將飛行和呱呱叫的動(dòng)作“委托”(delegate)另一個(gè)類處理,而不是使用定義在Duck類(或子類)內(nèi)的呱呱叫的飛行方法。但是即使是行為,也仍然可以有狀態(tài)和方法。類不是應(yīng)該代表某種“東西”嗎?類不是應(yīng)該同時(shí)具備狀態(tài)“與”行為嗎?答:在面向?qū)ο笙到y(tǒng)中,是的,類代表的東西一般都是既有狀態(tài)(實(shí)例變量)又有方法。我們已經(jīng)從Duck的繼承結(jié)構(gòu)中刪除了變化的部分,原先的問題都已經(jīng)解決了,所以不需要把Duck設(shè)計(jì)成接口。問:Duck是不是也該設(shè)計(jì)成一個(gè)接口?答:在本例中,這么做并不恰當(dāng)。通常在你設(shè)計(jì)系統(tǒng)時(shí),預(yù)先考慮到有那些地方未來有可能需要變化,于是提前在代碼中加入這些彈性。這么一來,有了繼承的“復(fù)用”的好處,卻沒有繼承所帶來的包袱。這樣的設(shè)計(jì),可以讓飛行和呱呱叫的動(dòng)作被其他的對(duì)象復(fù)用,因?yàn)檫@些行為已經(jīng)與鴨子類無關(guān)了。 //makeSound()的動(dòng)作就夠了。 a=getAnimal()。 //調(diào)用。但是,“針對(duì)接口/超類型編程”做法會(huì)如下:Animal animal=new Dog()。 //聲明變量”d”為Dog類型(是Animal的具體實(shí)現(xiàn)),會(huì)造成我們必須()。看看下面這個(gè)簡(jiǎn)單的多態(tài)例子:假設(shè)有一個(gè)抽象類Animal,有兩個(gè)具體的實(shí)現(xiàn)(Dog與Cat)繼承Animal。“針對(duì)超類型編程”這句話,可以更明確地說成 “變量的聲明類型應(yīng)該是超類型,通常是一個(gè)抽象類或者是一個(gè)接口,如此,只要是具體實(shí)現(xiàn)此超類型的類所產(chǎn)生的對(duì)象,都可以指定給這個(gè)變量。你可以在不涉及Java interface的情況下,“針對(duì)接口編程”,關(guān)鍵就在多態(tài)。難道僅僅是想使用多態(tài)性嗎?“針對(duì)接口編程”真正的意思是“針對(duì)超類型(supertype)編程”。Joe:我不明白為什么你要用一個(gè)接口實(shí)現(xiàn)FlyBehavior。在我們的新設(shè)計(jì)中,鴨子的子類將使用接口(FlyBehavior 與QuakBehavior)所表示的行為,所以實(shí)際的“實(shí)現(xiàn)”不會(huì)被綁死在鴨子的子類中。這樣的做法迥異于以往,以前的做法是:行為來自Duck超類的具體實(shí)現(xiàn),或是繼承某個(gè)接口并由子類自行實(shí)現(xiàn)而來。所以這次鴨子類不會(huì)負(fù)責(zé)實(shí)現(xiàn)Flying與Quacking接口,反而是由我們制造一組其他類專門實(shí)現(xiàn)FlyBehavior與QuackBehavior,這就稱為“行為”類。這樣,鴨子類就不再需要知道行為的實(shí)現(xiàn)細(xì)節(jié)。有了這些需要實(shí)現(xiàn)的目標(biāo),接著看看第二個(gè)設(shè)計(jì)原則:針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程。干脆順便讓鴨子的行為可以動(dòng)態(tài)地改變好了。我們還想能夠“指定”行為到鴨子的實(shí)例。請(qǐng)看圖5。我們知道Duck類內(nèi)的fly()和quack()會(huì)隨著鴨子的不同而改變?,F(xiàn)在,為了要分開“變化和不會(huì)變化的部分”,我們準(zhǔn)備建立兩組類(完全遠(yuǎn)離Duck類),一個(gè)是“fly”相關(guān)的,一個(gè)是“quack”相關(guān)的,每一組類將實(shí)現(xiàn)各自的動(dòng)作。好,該是把鴨子的行為從Duck類中取出的時(shí)候了!分開變化和不會(huì)變化的部分從哪里開始呢?就我們目前所知,除了fly()和quack()的問題之外,Duck類還算一切正常,似乎沒有特別需要經(jīng)常變化或修改的地方。這樣的概念很簡(jiǎn)單,幾乎是每個(gè)設(shè)計(jì)模式背后的精神所在。換句話說,如果每次新的需求一來,都會(huì)使某方面的代碼發(fā)生變化,那么你就可以確定,這部分的代碼需要被抽出來,和其他穩(wěn)定的代碼有所區(qū)分。把會(huì)變化的部分取出并“封裝”起來,好讓其他部分不會(huì)受到影響。這意味著:無論何時(shí)你需要修改某個(gè)行為,你必須得往下追蹤到每一個(gè)定義此行為的類中!幸運(yùn)的是有一個(gè)設(shè)計(jì)原則,恰好適用于此狀況。唉!把問題歸零……現(xiàn)在我們知道使用繼承并不能很好地解決問題,因?yàn)轼喿拥男袨樵谧宇惱锊粩嗟馗淖儯⑶易屗械淖宇惗加羞@些行為是不恰當(dāng)。)1).我們的顧客或用戶需要?jiǎng)e的東西,或者想要新功能。找出你的應(yīng)用中需要改變代碼的原因,一一列出來。我們可以花很少的時(shí)間重構(gòu)代碼而花更多的時(shí)間做更酷的事情…軟件開發(fā)的一個(gè)不變真理好吧!在軟件開發(fā)上,有什么是你可以深信不疑的?不管你在何處工作,構(gòu)建些什么,用何種編程語言,在軟件開發(fā)上,一直伴隨你的那個(gè)不變真理是什么?圖4. 軟件開發(fā)的不變真理(用鏡子來看答案)不管當(dāng)初軟件設(shè)計(jì)得多好,一段時(shí)間之后,總是需要成長(zhǎng)與改變,否則軟件會(huì)“死亡”。但是,如果直接告訴你答案,這有什么樂趣?我們會(huì)用老方法找出一個(gè)解決之道:“采用良好的面向?qū)ο筌浖O(shè)計(jì)原則”。雖然Flyable與Quackable可以解決“一部分”問題(不會(huì)再有會(huì)飛的橡皮鴨),但是卻造成代碼無法復(fù)用,這只能算是從一個(gè)噩夢(mèng)跳進(jìn)另一個(gè)噩夢(mèng)。新的設(shè)計(jì)類圖如圖3所示。那樣只有能夠飛的鴨子類需要實(shí)現(xiàn)該接口并且會(huì)有一個(gè)fly()方法。所以,他需要一個(gè)更清晰的方法,讓“某些(而不是全部)”鴨子類型可飛或可叫。利用接口如何?Joe認(rèn)識(shí)到繼承可能不是答案,因?yàn)樗麆倓偰玫絹碜灾鞴艿膫渫?,希望以后每六個(gè)月更新產(chǎn)品(至于更新的方法,他們還沒想到)。C. 我們不能讓鴨子跳舞。B.運(yùn)行時(shí)的行為不容易改變。想一想:利用繼承來提供Duck的行為,這會(huì)導(dǎo)致下列那些缺點(diǎn)?(多選)A. 代碼在多個(gè)子類中重復(fù)。但是,當(dāng)我們要向程序中增加木頭模型鴨子時(shí)該怎么辦?木頭鴨子不能叫也不能飛…這里在繼承體系中有一個(gè)新的類—DecoyDuck。我不明白為什么他們不認(rèn)為這是一種新的功能. 真是太做作了…他體會(huì)到了一件事:當(dāng)涉及“維護(hù)”時(shí),為了“復(fù)用”(reuse)目的而使用繼承,結(jié)局并不完美?,F(xiàn)在可好了!SimuDuck程序中有了一個(gè)無生命的會(huì)飛的東西。他們剛才做了一個(gè)演示,橡皮鴨子在屏幕上到處飛!你開什么玩笑?你是不是不想干了?”怎么回事?Joe忽略了一件事:并非Duck所有的子類都會(huì)飛?,F(xiàn)在是展示我面向?qū)ο蟮奶觳诺臅r(shí)候了新的類圖如圖2所示。當(dāng)然,在這個(gè)時(shí)候,Joe的經(jīng)理拍胸脯告訴主管們,Joe只需要一個(gè)星期就可以搞定。在為期一周的高爾夫假期兼頭腦風(fēng)暴會(huì)議之后,公司主管認(rèn)為該是創(chuàng)新的時(shí)候了,他們需要在“下周”毛伊島股東會(huì)議上展示一些“真正”讓人印象深刻的東西來振奮人心。該程序的類圖如圖1所示。游戲中會(huì)出現(xiàn)各種鴨子,一邊游泳戲水,一邊呱呱叫。”以往是代碼復(fù)用,現(xiàn)在是經(jīng)驗(yàn)復(fù)用。本章結(jié)束前,我們會(huì)看看設(shè)計(jì)模式的用途與優(yōu)點(diǎn),再看一些關(guān)鍵的面向?qū)ο笤O(shè)計(jì)原則,并通過一個(gè)實(shí)例來了解模式是如何運(yùn)作。表1 ,LabVIEW術(shù)語和傳統(tǒng)編程等價(jià)術(shù)語LabVIEW傳統(tǒng)編程語言VI程序函數(shù)函數(shù)或方法子VI子例程,子程序,對(duì)象面板用戶接口框圖程序代碼“G語言”或LabVIEWC,C++,Java,Pascal,BASIC等等第四課 設(shè)計(jì)模式導(dǎo)論Text A: 設(shè)計(jì)模式簡(jiǎn)介1有些人已經(jīng)解決你的問題了在本章,你將學(xué)到為何(以及如何)利用其他開發(fā)人員的經(jīng)驗(yàn)與智慧。此外,許多低層的子VI通常執(zhí)行幾個(gè)應(yīng)用的普通任務(wù),可獨(dú)立地被每個(gè)應(yīng)用所使用。接著,你建立VI完成每個(gè)子任務(wù),然后將這些VI合成高層的框圖,完成更大的任務(wù)。這個(gè)結(jié)構(gòu)使LabVIEW能支持模塊化編程的概念。虛擬儀器是可繼承的,模塊化的。VI連接器是這樣一個(gè)機(jī)構(gòu),當(dāng)VI用作其他VI的子VI時(shí),使用VI連接器將數(shù)據(jù)從其他框圖中傳入。被另一個(gè)VI使用的VI稱作子VI,類似于子程序。你可以畫線來連接合適的對(duì)象,定義它們之間的數(shù)據(jù)流向??驁D是實(shí)際的執(zhí)行程序。它包括旋鈕、按鈕、圖解、很多其他控件(用戶輸入的)和指示符(程序輸出的)。一個(gè) VI 有三個(gè)主要部分:隨后,我們將把LabVIEW稱作“VI”(讀作“Vee”“eye”,而不是像有些人一樣讀成羅馬數(shù)字6)。LabVIEW如何工作?LabVIEW程序之所以叫做虛擬儀器(VIs),是因?yàn)樗鼈兊耐庥^和操作類似于真實(shí)的物理儀器。所謂的數(shù)據(jù)流原則是指,只有在獲得必要的數(shù)據(jù)后,才運(yùn)行功能模塊,采用的是直接的控制執(zhí)行方式。LabVIEW使用的是科學(xué)家和工程師熟悉的術(shù)語、圖標(biāo)和概念。出于這種思路,你可以將注意力集中在應(yīng)用的數(shù)據(jù)流上,編程所采用的簡(jiǎn)單句法使程序的功能目的一目了然。數(shù)據(jù)流和圖形化編程語言在一個(gè)重要方面,LabVIEW程序開發(fā)環(huán)境有別于商業(yè)的C或者Java開發(fā)系統(tǒng)。LabVIEW程序是便攜式跨平臺(tái)的,所以你可以在蘋果機(jī)上寫一個(gè)程序,在大多數(shù)應(yīng)用中無需任何變化便可在Windows機(jī)器上載入和運(yùn)行。可能的輸出選項(xiàng)包括圖表、圖形、用戶定義的圖形組等等。分析庫包含了大量有用的函數(shù),包括信號(hào)形成、信號(hào)處理、濾波、窗口、統(tǒng)計(jì)、回歸、線性代數(shù)和隊(duì)列算術(shù)。擴(kuò)展的功能庫和子程序能幫助你完成大多數(shù)編程任務(wù),不會(huì)出現(xiàn)使用傳統(tǒng)編程語言時(shí)可能出現(xiàn)的指針混亂,內(nèi)存配置及其他一些難以發(fā)現(xiàn)的問題。當(dāng)你需要時(shí),成本只是傳統(tǒng)儀器的一部分,當(dāng)你的需要發(fā)生變化時(shí),你可以馬上調(diào)整虛擬儀器。電腦、插入式硬件和LabVIEW組成了可以完成任務(wù)的完整虛擬儀器配置。由于LabVIEW是這樣的一個(gè)多功能圖形用戶接口而且易于編程,因此將它用于模擬,觀點(diǎn)表述,通用程序設(shè)計(jì)甚至教學(xué)基本編程概念都很理想。LabVIEW為你提供非常強(qiáng)大的圖形化編程語言,通過大量命令提高效率。然而,LabVIEW又不僅僅是一種編程語言,它是專門為那些工作中需要大量編程的人們,例如科學(xué)家和工程師們所設(shè)計(jì)的編程環(huán)境和執(zhí)行系統(tǒng)。有它你能做什么,而它又能為你做什么?LabVIEW是實(shí)驗(yàn)室虛擬儀器工程工作臺(tái)(Laboratory Virtual Instrument Engineering Workbench)的縮寫,是一個(gè)圖形化的編程環(huán)境?;贔PGA的可重構(gòu)硬件、CompactRIO和LabVIEW 實(shí)時(shí)模型提供了可靠性和精確的定時(shí)資源,保證系統(tǒng)足夠健壯,能支持在高溫強(qiáng)震環(huán)境下作業(yè)。4. Drivven——機(jī)車引擎控制單元(ECU)原型在過去的項(xiàng)目中,Drivven 花費(fèi)了至少2年的時(shí)間和50萬美元在自定義硬件上開發(fā)ECU制模系統(tǒng)。為了使表征過程呈流線型,TI利用NI TestStand和LabVIEW開發(fā)了測(cè)試、管理和自動(dòng)化軟件。將軟件升級(jí)到NI 5122,NI 6552和LabVIEW 7 Express后,產(chǎn)品的質(zhì)量和產(chǎn)量得到提高,我們用最小的研發(fā)代價(jià)提高了測(cè)試系統(tǒng)的性能。美聯(lián)社賽車提出的一款獨(dú)特的新型測(cè)力器有顯著的優(yōu)勢(shì),而使用NI DAQ設(shè)備和LabVIEW的虛擬儀器將在這個(gè)創(chuàng)新市場(chǎng)中提供必需的靈活性。從測(cè)試DVD錄像機(jī)到研究先進(jìn)醫(yī)學(xué),他們使用NI軟硬件開發(fā)用戶定義的儀器,更快更低成本地交付各種各樣的產(chǎn)品和服務(wù)。在這些I/O平臺(tái)的中心有了FPGA芯片,工程師就能創(chuàng)建自定義硬件并可重復(fù)使用LabVIEW FPGA對(duì)其進(jìn)行重定義。這些產(chǎn)品有很多區(qū)別于其他產(chǎn)品的特征,其中一小部分特征包括第一批18位PCI設(shè)備,第一批有最大吞吐量的6個(gè)DMA信道的PCI數(shù)據(jù)采集設(shè)備和申請(qǐng)專利的設(shè)備標(biāo)準(zhǔn)計(jì)劃。那一月,NI推出了USB-6008,售價(jià)145美元,這是多功能DAQ的最低價(jià)。為了滿足工程師和科學(xué)家們不斷增加的需求,NI不斷延伸產(chǎn)品的范圍。作為回應(yīng),NI公司創(chuàng)造了SignalExpress,這是可進(jìn)行探測(cè)性測(cè)量的拖放式、無編程要求的理想環(huán)境。LabVIEW PDA模塊將虛擬儀器和LabVIEW平臺(tái)拓展到手持式設(shè)備。目前已有超過50%的數(shù)據(jù)采集用戶使用DAQ助手簡(jiǎn)化數(shù)據(jù)采集任務(wù)。NI通過理解客戶的項(xiàng)目開發(fā)需求,持續(xù)地進(jìn)行重要的軟件革新,包括Express 技術(shù),LabVIEW實(shí)時(shí)模塊和LabVIEW PDA模塊以及SignalExpress軟件。這種領(lǐng)先地位在持續(xù)的革新中得以加強(qiáng)和鞏固。從低成本的USB數(shù)據(jù)采集,再到GPIB總線通訊,NI為測(cè)量硬件和完善虛擬儀器需要的可擴(kuò)展的硬件平臺(tái)提供測(cè)量硬件,并將它展示給25000多家公司。虛擬儀器軟件獨(dú)立于所選的編程環(huán)境,所以它必須為系統(tǒng)測(cè)量硬件提供出色的綜合能力,包括LabVIEW在內(nèi)的NI軟件為來自于第三方硬件提供商的千萬傳感器、相機(jī)、傳動(dòng)裝置、傳統(tǒng)儀器和插入式器件(USB,PCI等等)提供開放式連接。為滿足喜愛基于文本編程的工程師,NI也提供了LabWindows/CVI,這是一個(gè)ANSI C的應(yīng)用開發(fā)環(huán)境,同時(shí)為使用Visual Studio。自從1986年,當(dāng)時(shí)NI公司為蘋果公司引入LabVIEW,很快并不斷地吸引工程師和科學(xué)家尋求高效、強(qiáng)健的編程語言以便在測(cè)試、控制和設(shè)計(jì)應(yīng)用中使用。處于任何虛擬儀器中心位置的都是靈活的軟件,NI公司發(fā)明了世界最好的虛擬儀器軟件平臺(tái)之一的LabVIEW。什么使得NI公司成為虛擬儀器的領(lǐng)導(dǎo)者?一言以蔽之,答案是軟件。LabVIEW就是這種軟件的一個(gè)例子。虛擬儀器硬件使用這些廣泛可行的半導(dǎo)體,從而遞送到高性能測(cè)量前端。例如無線通訊和高清視頻等應(yīng)用持續(xù)不斷地影響著這些技術(shù)?;陔娔X的虛擬儀器能夠被成功采納就得益于這些快速進(jìn)步,以及在學(xué)校及早開設(shè)電腦技術(shù)課程的總體趨勢(shì)。特別地,PC機(jī)的性能在過去的20年間提高了10000x以上(見圖2)。成功的關(guān)鍵包括個(gè)人電腦的快速發(fā)展;激增的低成本、高
點(diǎn)擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1