ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”...
?????增強代碼的可重用能力,從創(chuàng)建可重用的代碼開始,可重用的代碼則是通過從現(xiàn)有代碼中重構(gòu)加以封裝,使其成為功能單一的可復用代碼塊。這句話籠統(tǒng)點說便是“封裝”或“抽象”。
?????在實際的編程開發(fā)中,要實現(xiàn)代碼重用,而不是每次都去Copy同樣的代碼,我們可以創(chuàng)建一個方法,將代碼封裝在方法里然后在需要的地方調(diào)用它;如果每次執(zhí)行的任務(wù)都有微小的變化,但又不想每次都復制那些代碼修改一次,我們可以給方法傳遞參數(shù)讓它適宜不同的情況。
?????本文仍然屬于基礎(chǔ)篇文章,還是著重介紹ActinScript開發(fā)的基礎(chǔ)知識,以及結(jié)合Adobe Flex CS3開發(fā)環(huán)境,介紹怎么使用Flex這樣優(yōu)秀的IDE環(huán)境去創(chuàng)建ActionScript程序,以及以類文件為基礎(chǔ)去封裝程序代碼,使其成為可復用的代碼等。
一、從創(chuàng)建項目開始
?????本文主要是為后面面向?qū)ο箝_發(fā)打基礎(chǔ),相信大家都非常的熟悉VS2003/2005/2008中的一中或多種開發(fā)工具,那么熟悉開發(fā)環(huán)境對開發(fā)工作肯定是有益無害,還是不廢話了,下面便從建立項目開始,近一步的熟悉Adobe Flex CS3開發(fā)環(huán)境。
????????
??????????
?????上圖便是Flex創(chuàng)建項目向?qū)?#xff0c;輸入個項目名稱然后選擇項目存儲的路徑便OK。關(guān)于"Application server type"將在后續(xù)章節(jié)里介紹,然后點“下一步”便完成項目的創(chuàng)建。
?????成功創(chuàng)建項目后,在項目的src下便有一個mxml文件(此文件在之前的文章里有介紹),查看其源視圖可以看到:
1?<?xml?version="1.0"?encoding="utf-8"?>2?<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?
3?????layout="absolute"?>
4?
5?</mx:Application>
6?
?????OK,此你看到的便是在Flex環(huán)境下開發(fā)ActionScript應(yīng)用的開發(fā)模型結(jié)構(gòu),一個mxml對應(yīng)的則是一個應(yīng)用界面。那好,有了開發(fā)模型是不是應(yīng)該放點代碼進去呢?我們可以通過creationComplete屬性為應(yīng)用指定一個初始化方法: ?1?<?xml?version="1.0"?encoding="utf-8"?>
?2?<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?
?3?????layout="absolute"?creationComplete="Init()">
?4?????<mx:Script>
?5?????????<![CDATA[
?6?????????????internal?function?Init():void?{
?7?????????????????trace("應(yīng)用程序的初始化方法");
?8?????????????}
?9?????????]]>
10?????</mx:Script>
11?</mx:Application> ??????
二、使用方法創(chuàng)建可重用代碼
?????現(xiàn)在有這樣一個小的需求,我們需要計算兩個數(shù)的和。OK,這個簡單,拖兩個文本輸入框組件來輸入數(shù)據(jù)和顯示計算結(jié)果,在放置一個按扭來執(zhí)行計算命令就OK。
???? ?????
?????從上圖上可以看出為按扭添加了click方法,click方法Init()的代碼如下:
?1?????<mx:Script>?2?????????<![CDATA[
?3?????????????internal?function?Init():void?{
?4?????????????????//trace("應(yīng)用程序的初始化方法");
?5?????????????????var?a:int?=?int(txtA.text);
?6?????????????????var?b:int?=?int(txtB.text);
?7?????????????????txtC.text?=?(a?+?b).toString();
?8?????????????}
?9?????????]]>
10?????</mx:Script>
?????通過上面的嘗試,其實我們已經(jīng)學會了使用方法去封裝代碼,那么如何達到可重用呢?在這里我就不多說了,和其他的語言一樣,要達到靈活度重用度高,那便是對現(xiàn)有代碼進行重構(gòu),比如上面代碼我們可以進行一次重構(gòu)讓其成為真正能夠重用的代碼。首先要弄清楚功能需求,我們需要一個可重用的方法來計算兩個數(shù)之和。OK,下面來重構(gòu)吧!
?1?????/*?2??????*?方法功能:計算兩個數(shù)之和?
?3??????*?參數(shù)說明:
?4??????*????????a:整型
?5??????*????????b:整型
?6??????*?返回值:返回傳遞進來的兩個整型參數(shù)之和(int)
?7??????*/
?8?????private?function?Add(a:int,?b:int):int?{
?9?????????return?a?+?b;
10?????}
?????通過上面的重構(gòu),抽象出了一個通用的可重用的方法,以后需要計算和的地方直接使用此方法便OK。如上我們邊完成了通過方法來封裝程序代碼,以到達可重用的目的。
?
三、養(yǎng)成使用類封裝方法的好習慣
?????在實際開發(fā)中,封裝程序代碼并非我們上面所演示的這樣簡單,需要更加集中、有序或是按照一定的規(guī)律來進行封裝。通常都是使用類將方法封裝在一起,而方法則封裝實現(xiàn)具體業(yè)務(wù)功能的代碼。OK,說到類,那我們就從創(chuàng)建一個類文件開始。
???????????
?????圖比文章更具有說服力,創(chuàng)建類文件的過程直接掃描上圖便知。OK,繼續(xù)下一張圖:
????????????????????
?????通過上面這兩步,便創(chuàng)建了一個名為Book的ActionScript類,相應(yīng)的文件為Book.as,新建立的Book類的結(jié)構(gòu)如下:
2?{
3?????public?class?Book
4?????{
5?????????public?function?Book()
6?????????{
7?????????}
8?????}
9?}
?????在ActionScript中的編程方式和Java大同小異,同Java一樣有包的概念,如同.net下的名稱空間。如上代碼快,不同的是方法的定義上多了一個關(guān)鍵字“function”。OK,下面我們?yōu)锽ook類添加兩個方法,獲取圖書的名稱和價格:
?2?????private?var?name:String?=?"ActionScript開發(fā)手冊";
?3?????????
?4?????public?function?getBookName():String?
?5?????{
?6?????????return?this.name;
?7?????}
?8?????????
?9?????pulic?function?getBookPrice():Number?
10?????{
11?????????return?this.price;
12?????}
?????通過上面一步一步的努力勞動,已經(jīng)熟練的掌握了使用類來封裝方法。?????
?
三、調(diào)用可重用代碼的方法
?????做事應(yīng)該有始有終吧,有了上面的類,雖只是一個用于演示的半成品,總不能上前面的所有努力都付之東流吧,下面來調(diào)用下所封裝的方法。
?????要使用外部封裝的類,在ActionScript中和Java中是一樣的,通過 Import將外部包導入到當前項目就OK。如下圖示:
?????????????
?????導入之前我們創(chuàng)建的Book類,通過實例化類對象便可以調(diào)用類中所封裝的公共方法了,這點和C#/Java也是一樣的。至此,使用Flex開發(fā)環(huán)境,通過類封裝方法,使其成為可重用的代碼就介紹到這里,更深入的知識點將在后續(xù)章節(jié)逐步介紹。
三、使用異常加強代碼的健壯性
?????ActionScritp 3.0中使用異常,和C#/Java一樣的,這里就不做詳細介紹。有興趣的可以參考下面連接的文章。
?????異常和異常處理(C#編程指南):http://msdn.microsoft.com/zh-cn/library/ms173160.aspx?。如果要了解和學習ActionScript 的各種異常類請查看文檔。官方在線幫助文檔地址請查看第本系列的第二篇文章,ActionScript 3.0 Step By Step系列(二):建立扎實的ActionScript 3.0語法基礎(chǔ)
四、本文小結(jié)
?????1、近一步熟悉Adobe Flex開發(fā)環(huán)境。
?????2、在Flex下使用Action Class文件封裝方法,使其成為可復用代碼以及調(diào)用。
?????3、ActionScript 3.0下的異常機制。
?
注:原創(chuàng)文章歡迎轉(zhuǎn)載,本文版權(quán)歸作者和博客園共有,轉(zhuǎn)載務(wù)必注明文章出處。??
???? 作???? 者:Beniao
?????文章出處:http://beniao.cnblogs.com/? 或? http://www.cnblogs.com/
轉(zhuǎn)載于:https://www.cnblogs.com/beniao/archive/2008/12/24/1359233.html
總結(jié)
以上是生活随笔為你收集整理的ActionScript 3.0 Step By Step系列(四):来自面向对象开发之前的呐喊:“学会写可重用的代码”...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 轻量版项目管理系统
- 下一篇: java生成pdf文档