?????增強代碼的可重用能力,從創建可重用的代碼開始,可重用的代碼則是通過從現有代碼中重構加以封裝,使其成為功能單一的可復用代碼塊。這句話籠統點說便是“封裝”或“抽象”。
?????在實際的編程開發中,要實現代碼重用,而不是每次都去Copy同樣的代碼,我們可以創建一個方法,將代碼封裝在方法里然后在需要的地方調用它;如果每次執行的任務都有微小的變化,但又不想每次都復制那些代碼修改一次,我們可以給方法傳遞參數讓它適宜不同的情況。
?????本文仍然屬于基礎篇文章,還是著重介紹ActinScript開發的基礎知識,以及結合Adobe Flex CS3開發環境,介紹怎么使用Flex這樣優秀的IDE環境去創建ActionScript程序,以及以類文件為基礎去封裝程序代碼,使其成為可復用的代碼等。
一、從創建項目開始
?????本文主要是為后面面向對象開發打基礎,相信大家都非常的熟悉VS2003/2005/2008中的一中或多種開發工具,那么熟悉開發環境對開發工作肯定是有益無害,還是不廢話了,下面便從建立項目開始,近一步的熟悉Adobe Flex CS3開發環境。
????????
??????????
?????上圖便是Flex創建項目向導,輸入個項目名稱然后選擇項目存儲的路徑便OK。關于"Application server type"將在后續章節里介紹,然后點“下一步”便完成項目的創建。
?????成功創建項目后,在項目的src下便有一個mxml文件(此文件在之前的文章里有介紹),查看其源視圖可以看到:
2?<mx:Application?xmlns:mx="http://www.adobe.com/2006/mxml"?
3?????layout="absolute"?>
4?
5?</mx:Application>
6?
?????OK,此你看到的便是在Flex環境下開發ActionScript應用的開發模型結構,一個mxml對應的則是一個應用界面。那好,有了開發模型是不是應該放點代碼進去呢?我們可以通過creationComplete屬性為應用指定一個初始化方法:
?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("應用程序的初始化方法");
?8?????????????}
?9?????????]]>
10?????</mx:Script>
11?</mx:Application>
二、使用方法創建可重用代碼
?????現在有這樣一個小的需求,我們需要計算兩個數的和。OK,這個簡單,拖兩個文本輸入框組件來輸入數據和顯示計算結果,在放置一個按扭來執行計算命令就OK。
???? ?????
?????從上圖上可以看出為按扭添加了click方法,click方法Init()的代碼如下:
?2?????????<![CDATA[
?3?????????????internal?function?Init():void?{
?4?????????????????//trace("應用程序的初始化方法");
?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>
?????通過上面的嘗試,其實我們已經學會了使用方法去封裝代碼,那么如何達到可重用呢?在這里我就不多說了,和其他的語言一樣,要達到靈活度重用度高,那便是對現有代碼進行重構,比如上面代碼我們可以進行一次重構讓其成為真正能夠重用的代碼。首先要弄清楚功能需求,我們需要一個可重用的方法來計算兩個數之和。OK,下面來重構吧!
?2??????*?方法功能:計算兩個數之和?
?3??????*?參數說明:
?4??????*????????a:整型
?5??????*????????b:整型
?6??????*?返回值:返回傳遞進來的兩個整型參數之和(int)
?7??????*/
?8?????private?function?Add(a:int,?b:int):int?{
?9?????????return?a?+?b;
10?????}
?????通過上面的重構,抽象出了一個通用的可重用的方法,以后需要計算和的地方直接使用此方法便OK。如上我們邊完成了通過方法來封裝程序代碼,以到達可重用的目的。
?
三、養成使用類封裝方法的好習慣
?????在實際開發中,封裝程序代碼并非我們上面所演示的這樣簡單,需要更加集中、有序或是按照一定的規律來進行封裝。通常都是使用類將方法封裝在一起,而方法則封裝實現具體業務功能的代碼。OK,說到類,那我們就從創建一個類文件開始。
???????????
?????圖比文章更具有說服力,創建類文件的過程直接掃描上圖便知。OK,繼續下一張圖:
????????????????????
?????通過上面這兩步,便創建了一個名為Book的ActionScript類,相應的文件為Book.as,新建立的Book類的結構如下:
2?{
3?????public?class?Book
4?????{
5?????????public?function?Book()
6?????????{
7?????????}
8?????}
9?}
?????在ActionScript中的編程方式和Java大同小異,同Java一樣有包的概念,如同.net下的名稱空間。如上代碼快,不同的是方法的定義上多了一個關鍵字“function”。OK,下面我們為Book類添加兩個方法,獲取圖書的名稱和價格:
?2?????private?var?name:String?=?"ActionScript開發手冊";
?3?????????
?4?????public?function?getBookName():String?
?5?????{
?6?????????return?this.name;
?7?????}
?8?????????
?9?????pulic?function?getBookPrice():Number?
10?????{
11?????????return?this.price;
12?????}
?????通過上面一步一步的努力勞動,已經熟練的掌握了使用類來封裝方法。?????
?
三、調用可重用代碼的方法
?????做事應該有始有終吧,有了上面的類,雖只是一個用于演示的半成品,總不能上前面的所有努力都付之東流吧,下面來調用下所封裝的方法。
?????要使用外部封裝的類,在ActionScript中和Java中是一樣的,通過 Import將外部包導入到當前項目就OK。如下圖示:
?????????????
?????導入之前我們創建的Book類,通過實例化類對象便可以調用類中所封裝的公共方法了,這點和C#/Java也是一樣的。至此,使用Flex開發環境,通過類封裝方法,使其成為可重用的代碼就介紹到這里,更深入的知識點將在后續章節逐步介紹。
三、使用異常加強代碼的健壯性
?????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語法基礎
四、本文小結
?????1、近一步熟悉Adobe Flex開發環境。
?????2、在Flex下使用Action Class文件封裝方法,使其成為可復用代碼以及調用。
?????3、ActionScript 3.0下的異常機制。
?
注:原創文章歡迎轉載,本文版權歸作者和博客園共有,轉載務必注明文章出處。??
???? 作???? 者:Beniao
?????文章出處:http://beniao.cnblogs.com/? 或? http://www.cnblogs.com/