中文字幕二区_国产精品免费在线观看_黄色网站观看_人人草人人澡_日本真实娇小xxxx

您的位置: 首頁 > 技術(shù)文檔 > 多媒體制作 > 了解在Flash中的編程工作
實(shí)現(xiàn)2004中Media組件多首mp3連放 回到列表 在List組件中使用渲染器
 了解在Flash中的編程工作

作者:陳冰 時間: 2004-07-19 文檔類型:原創(chuàng) 來自:藍(lán)色理想

第 1 頁 像軟件設(shè)計(jì)師那樣思考問題
第 2 頁 面向?qū)ο蟮能浖_發(fā)中的重要概念
第 3 頁 好的編程風(fēng)格
第 4 頁 ActionScript術(shù)語

18.2 面向?qū)ο蟮能浖_發(fā)中的重要概念

  在第四章中我已經(jīng)簡單的介紹了什么是面向?qū)ο蟮能浖_發(fā),你應(yīng)該還記得那個以“人”作為對象的例子,以及當(dāng)路遇惡狗而被惡狗攆這一事件發(fā)生時,他可以調(diào)用“撒腿就跑”這個方法來作為對這個事件的響應(yīng)。
 
  但不管怎么說,我不想因?yàn)檫@些例子而使你輕視了面向?qū)ο蟮能浖_發(fā)。事實(shí)上,面向?qū)ο蠛x深遠(yuǎn),涉及許多重要的概念,只有充分理解了這些概念的含義,你才算真正理解了什么叫面向?qū)ο蟆:芏喔拍钅愣紤?yīng)該知道,但限于篇幅,本節(jié)中我將講解其中最重要的九個。
  面向?qū)ο蟮能浖_發(fā)中九個最基本的概念:類、對象、屬性、方法、抽象、封裝、繼承、多態(tài),以及事件。

18.2.1 類和對象

  類是對象的軟件抽象,是創(chuàng)建對象的模板。例如,如果一個人被看作一個對象的話,則人這個物種就可以被看作一個類。類定義描述了包括數(shù)據(jù)和功能在內(nèi)的結(jié)構(gòu),對象由其創(chuàng)建。一個類表示一組相似的對象。對象是類的實(shí)例。

  為什么需要類,想象這樣一個情況,假如我們要編寫一個Flash游戲,里面要有一些能自主活動的小人,這些小人都有相同的體貌特征和活動能力,那么,若我們要為每個小人編寫程序的話,則工作量毫無疑問是巨大和重復(fù)的。在這種情況下,我們就應(yīng)該創(chuàng)建一個“小人”類,以后每當(dāng)需要一個新的小人時就從“小人”類生成一個小人即可。

  話說到這里,你一定想到了元件和實(shí)例的關(guān)系。沒錯,類和對象的關(guān)系與元件和實(shí)例的關(guān)系一樣,因?yàn)樵䦟?shí)際上就是Flash的內(nèi)建類。

18.2.2 屬性和方法

  屬性是數(shù)據(jù),而方法是函數(shù)。屬性是類知道的事情,而方法是類完成的事情。屬性和方法都是類的職責(zé)。面向?qū)ο蟮能浖_發(fā)是基于這樣的概念:系統(tǒng)應(yīng)由對象來創(chuàng)建,對象擁有數(shù)據(jù)和功能。屬性定義數(shù)據(jù),而方法定義功能。

  顯然,在面向?qū)ο蟮拈_發(fā)中,最重要的工作就是定義類。而定義類時,就必須定義它的屬性和方法。屬性的定義應(yīng)該是直接明了的,需要定義它的名稱和數(shù)據(jù)類型。方法的定義就是創(chuàng)建一個函數(shù)的過程,根據(jù)需要,你可以創(chuàng)建出能夠接受參數(shù)且能夠返回值的方法。

18.2.3 抽象

  世界非常復(fù)雜,為了處理它的復(fù)雜性,在軟件設(shè)計(jì)中,當(dāng)需要對事物建立數(shù)學(xué)模型時,我們有必要對事物進(jìn)行泛化或抽象。還是以人作為對象,從招聘的角度看,我們需要知道這個人的姓名、性別、年齡、教育背景、工作經(jīng)歷,聯(lián)系方式,以及性格特點(diǎn);而從相親的角度看,則需要知道這個人的年齡、身高、外貌、教育背景、家庭背景,甚至生辰八字。還是同一個人,只是對他(或她)進(jìn)行了不同的抽象而已,對一個事物進(jìn)行怎樣的抽象將依據(jù)你要設(shè)計(jì)的程序而定。

  抽象是個分析的過程,是在事物周圍繪制出一個清晰的框架的過程。抽象應(yīng)該包含應(yīng)用程序感興趣的功能、屬性、方法,而將其他因素忽略。這就是為什么招聘的抽象包含教育背景和工作經(jīng)歷,但不會包含生辰八字的原因。抽象的過程,就是定義類知道和要完成的事情的過程。

18.2.4 封裝

  盡管抽象告訴我們,對于招聘,我們應(yīng)該存儲應(yīng)聘者的教育背景和工作經(jīng)歷,但它沒有告訴我們該怎樣完成這些事情。封裝解決了如何為系統(tǒng)功能建模的問題。在面向?qū)ο蟮氖澜缰,我們要把系統(tǒng)建模成類,類也要建模為屬性和方法。設(shè)計(jì)類將如何完成這些事情的過程就被稱為封裝。

  封裝描述了如何在系統(tǒng)中劃分功能的問題。我們并不需要知道對象內(nèi)部是怎樣實(shí)現(xiàn)的。封裝暗示著我們能夠以任何方式構(gòu)建系統(tǒng),如果需要的話,還可以在日后再次修改其內(nèi)部的結(jié)構(gòu),只要系統(tǒng)中不同功能組件之間的接口沒有發(fā)生變化,那么對系統(tǒng)中一個功能部分的改變不會對系統(tǒng)的其他功能部分產(chǎn)生影響。

  封裝是把事物周圍的那個框架涂黑的過程。你可以定義任何想要定義的東西,但你并不需要告知外界你的做法。例如,當(dāng)你到銀行存取現(xiàn)金的時候,你并不需要知道銀行的數(shù)據(jù)中心是如何使用大型機(jī)、小型機(jī)和PC機(jī)來記錄你的賬戶信息的,它們使用著怎樣的數(shù)據(jù)庫和操作系統(tǒng),也根本無關(guān)緊要,因?yàn)樗鼈円呀?jīng)把賬戶服務(wù)的功能封裝起來了。你只需走到柜臺前,把存折遞給銀行的工作人員既可。通過隱藏起實(shí)現(xiàn)賬戶功能的細(xì)節(jié),銀行能夠在任何時候自由改變功能實(shí)現(xiàn),而不用費(fèi)事得更換每一個用戶的存折。

  為了讓應(yīng)用程序容易維護(hù)和增加安全性及健壯性,需要限制對類的屬性和方法的訪問;舅枷肴缦拢喝绻粋類想獲取另一個類的信息,必需先征得同意,而不是直接拿來就用?紤]一下,在現(xiàn)實(shí)世界中其實(shí)也是按照這種方法工作的。如果你想了解其他人的姓名,你該怎么做?是直接詢問這個人他的姓名呢,還是偷走他的錢包看看他的身份證呢?

18.2.5 繼承

  不同的類之間經(jīng)常會存在相似性。兩個以上的類也會經(jīng)常共享相同的屬性和/或相同的方法。因?yàn)槲覀儾⒉幌胫貜?fù)編寫代碼,因此我們就要利用這種相似機(jī)制。繼承就是這種機(jī)制,它使你可以很容易的重用現(xiàn)有的數(shù)據(jù)和代碼。

  例如,學(xué)生都有姓名、地址、手機(jī),也都能快跑。同時,老師也都有這些東西。毫無疑問,我們可以開發(fā)有關(guān)學(xué)生和老師的類,讓它們一起運(yùn)行。實(shí)際上,僅需要先開發(fā)Student類,一旦它運(yùn)行起來了,制作一份拷貝,就叫Teacher類,并對其進(jìn)行一些適當(dāng)?shù)男薷募纯。這樣做很容易,但并不完美。如果Student類中的源代碼出現(xiàn)錯誤將會怎樣?你將不得不在兩個地方改正錯誤。這將是索然無趣的工作。如果僅有一份代碼拷貝用于開發(fā)和維護(hù),這樣不是更好嗎?

  這就是繼承的思想。使用繼承,就可以定義一個類來封裝學(xué)生和老師之間的相似性。新的類將有屬性name、address、mobileTelephone,以及方法run。我們可以把這個類命名為Person。

  一旦定義了Person類,就可以從它繼承出Student和Teacher類。我們稱Person是Student和Teacher類的超類,而Student和Teacher類則是Person類的子類。任何超類知道和完成的事情,子類也知道。因此,既然Person類遇到惡狗時能撒腿就跑,Student和Teacher類也能。

18.2.6 多態(tài)

  讓我們考慮一下這個例子。你很愛你的女友,你對她說“親愛的,我愛你”,你的女友熱情的擁抱你,你還得到了一個吻,你覺得這很不錯。然后,你來到了大街上,看到一位很有氣質(zhì)的美女,你也用跟女友打招呼的方式對這位美女說“親愛的,我愛你”,你將立刻得到有關(guān)你的神經(jīng)和品德方面的一些建議。隨后,你又來到醫(yī)院,對一老中醫(yī)說“親愛的,我愛你”,老中醫(yī)將毫不猶豫的拉過你的手腕,開始為你把脈。你心想,無論何時當(dāng)我遭遇這些對象并說“親愛的,我愛你”時,這種情況肯定就會發(fā)生—這就是多態(tài)。

  多態(tài)使得對象可以在事先不知道其他對象的類型時就與其他對象協(xié)作。
  從這次經(jīng)歷中你可以學(xué)到幾個有意思的經(jīng)驗(yàn):

  第一,多態(tài)阻礙了你與其他對象之間的交互。你并不區(qū)別其他對象的類型,你以同樣的方式對待他們。你的想法是其他對象都是人。多態(tài)是允許這種情況發(fā)生的一個概念。

  第二,不同的對象以他們自己的方式作出不同的響應(yīng)。你的女友擁抱你并給你吻;陌生的美女給你有關(guān)神經(jīng)和品德方面的建議;而老中醫(yī)則給你把脈。同一消息到達(dá)不同的對象,每一個完成的事情都是不同的。實(shí)際上,從各個對象的角度看,他們做了應(yīng)該做的事情。

  第三,多態(tài)可以實(shí)現(xiàn)一致而恰當(dāng)?shù)姆椒。盡管每種對象都以適當(dāng)?shù)姆绞巾憫?yīng)了“親愛的,我愛你”,但還是要實(shí)現(xiàn)方法的不同版本。

  多態(tài)性主要包括兩個方面:
  運(yùn)算符的重載:同一運(yùn)算符可以作用在多種對象類型上。
  函數(shù)名重載:相同的函數(shù)名可以作用在不同的對象類型上,并產(chǎn)生不同的效果。

18.2.7 事

  面向?qū)ο蟮能浖倪\(yùn)行是隨著一個個事件的發(fā)生來進(jìn)行的,這被稱為“事件驅(qū)動”。例如,當(dāng)你欣賞Flash動畫時,實(shí)際上是正在發(fā)生一個個“進(jìn)入幀”事件,在這些事件中,F(xiàn)lash Player會呈遞每幀中的內(nèi)容,所以你就能看到畫面。

  同樣的,當(dāng)你點(diǎn)擊按鈕時,一個按鈕事件就發(fā)生了,該按鈕事件中的腳本就被執(zhí)行,這些腳本的作用可能是把你帶到特定的場景、特定的幀,或是鏈接到某個URL。

  在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,整個軟件都是以事件驅(qū)動的,這意味著假如沒有任何事件發(fā)生,你的程序?qū)⒋绮诫y行,不過好在程序中總是有某些事情發(fā)生的,即使所有其他的事件都不發(fā)生,也會有時間流逝這一事件在時刻發(fā)生著。

  在本書后面章中的實(shí)際開發(fā)中,你將看到上述所有這些面向?qū)ο蟮母拍畹膶?shí)際運(yùn)用。

出處:藍(lán)色理想
責(zé)任編輯:qhwa

上一頁 像軟件設(shè)計(jì)師那樣思考問題 下一頁 好的編程風(fēng)格

◎進(jìn)入論壇Flash專欄版塊參加討論

相關(guān)文章 更多相關(guān)鏈接
Flash 酷站獵手
中文ID3亂碼問題MX解決方案
用AS2解決中文ID3的亂碼
Flash常用效果-移動模糊效果
Flash MX 2005 制作環(huán)境預(yù)覽
作者文章
了解在Flash中的編程工作
制作一個全功能的FLV播放器
Flash 入門到精通巨著-本站推薦
關(guān)鍵字搜索 常規(guī)搜索 推薦文檔
熱門搜索:CSS Fireworks 設(shè)計(jì)比賽 網(wǎng)頁制作 web標(biāo)準(zhǔn) 用戶體驗(yàn) UE photoshop Dreamweaver Studio8 Flash 手繪 CG
站點(diǎn)最新 站點(diǎn)最新列表
周大!熬•自然”設(shè)計(jì)大賽開啟
國際體驗(yàn)設(shè)計(jì)大會7月將在京舉行
中國國防科技信息中心標(biāo)志征集
云計(jì)算如何讓安全問題可控
云計(jì)算是多數(shù)企業(yè)唯一擁抱互聯(lián)網(wǎng)的機(jī)會
阿里行云
云手機(jī)年終巨獻(xiàn),送禮標(biāo)配299起
阿里巴巴CTO王堅(jiān)的"云和互聯(lián)網(wǎng)觀"
1499元買真八核 云OS雙蛋大促
首屆COCO桌面手機(jī)主題設(shè)計(jì)大賽
欄目最新 欄目最新列表
淺談JavaScript編程語言的編碼規(guī)范
如何在illustrator中繪制臺歷
Ps簡單繪制一個可愛的鉛筆圖標(biāo)
數(shù)據(jù)同步算法研究
用ps作簡單的作品展示頁面
CSS定位機(jī)制之一:普通流
25個最佳最閃亮的Eclipse開發(fā)項(xiàng)目
Illustrator中制作針線縫制文字效果
Photoshop制作印刷凹凸字體
VS2010中創(chuàng)建自定義SQL Rule
>> 分頁 首頁 前頁 后頁 尾頁 頁次:2/41個記錄/頁 轉(zhuǎn)到 頁 共4個記錄

藍(lán)色理想版權(quán)申明:除部分特別聲明不要轉(zhuǎn)載,或者授權(quán)我站獨(dú)家播發(fā)的文章外,大家可以自由轉(zhuǎn)載我站點(diǎn)的原創(chuàng)文章,但原作者和來自我站的鏈接必須保留(非我站原創(chuàng)的,按照原來自一節(jié),自行鏈接)。文章版權(quán)歸我站和作者共有。

轉(zhuǎn)載要求:轉(zhuǎn)載之圖片、文件,鏈接請不要盜鏈到本站,且不準(zhǔn)打上各自站點(diǎn)的水印,亦不能抹去我站點(diǎn)水印。

特別注意:本站所提供的攝影照片,插畫,設(shè)計(jì)作品,如需使用,請與原作者聯(lián)系,版權(quán)歸原作者所有,文章若有侵犯作者版權(quán),請與我們聯(lián)系,我們將立即刪除修改。

您的評論
用戶名:  口令:
說明:輸入正確的用戶名和密碼才能參與評論。如果您不是本站會員,你可以注冊 為本站會員。
注意:文章中的鏈接、內(nèi)容等需要修改的錯誤,請用報(bào)告錯誤,以利文檔及時修改。
不評分 1 2 3 4 5
注意:請不要在評論中含與內(nèi)容無關(guān)的廣告鏈接,違者封ID
請您注意:
·不良評論請用報(bào)告管理員,以利管理員及時刪除。
·尊重網(wǎng)上道德,遵守中華人民共和國的各項(xiàng)有關(guān)法律法規(guī)
·承擔(dān)一切因您的行為而直接或間接導(dǎo)致的民事或刑事法律責(zé)任
·本站評論管理人員有權(quán)保留或刪除其管轄評論中的任意內(nèi)容
·您在本站發(fā)表的作品,本站有權(quán)在網(wǎng)站內(nèi)轉(zhuǎn)載或引用
·參與本評論即表明您已經(jīng)閱讀并接受上述條款
推薦文檔 | 打印文檔 | 評論文檔 | 報(bào)告錯誤  
專業(yè)書推薦 更多內(nèi)容
網(wǎng)站可用性測試及優(yōu)化指南
《寫給大家看的色彩書1》
《跟我去香港》
眾妙之門—網(wǎng)站UI 設(shè)計(jì)之道
《Flex 4.0 RIA開發(fā)寶典》
《贏在設(shè)計(jì)》
犀利開發(fā)—jQuery內(nèi)核詳解與實(shí)踐
作品集 更多內(nèi)容

雜⑦雜⑧ Gold NORMANA V2