自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Flex3教程 AS2轉(zhuǎn)化成AS3的方法

開發(fā) 后端
本文向大家簡單介紹一下Flex3教程中AS2轉(zhuǎn)化成AS3的方法,AS3的方法修飾符在AS2的基礎(chǔ)上增加了protected,internal,final和override,并且private的語義有變化。

本文和大家重點討論一下Flex3教程中AS2轉(zhuǎn)化成AS3的方法(Method),AS3的方法修飾符在AS2的基礎(chǔ)上增加了protected,internal,final和override,并且private的語義有變化。無返回的關(guān)鍵字Void變成了void。方法參數(shù)的設(shè)定也有一些變化。

Flex3教程 AS2轉(zhuǎn)化成AS3的方法(Method)

AS2和AS3差異點介紹:

AS3的方法修飾符在AS2的基礎(chǔ)上增加了protected,internal,final和override,并且private的語義有變化。無返回的關(guān)鍵字Void變成了void。方法參數(shù)的設(shè)定也有一些變化。
private關(guān)鍵字修飾后代表此方法只能被本類訪問。這變得和Java語言一樣了。而在AS2中,private相當(dāng)于下面要說的AS3的protected。
protected關(guān)鍵字修飾后代表此方法只能被自己和自己的子類訪問,這和Java語言的protected關(guān)鍵字意義一樣,學(xué)過Java的朋友應(yīng)該很熟悉。
internal關(guān)鍵字修飾后代表此方法只能被同一包里的類訪問,這和Java語言的缺省方法權(quán)限也一樣。
final關(guān)鍵字修飾后代表此方法不能被覆蓋。同樣,和Java語言也是一樣的。

Flex3教程中override關(guān)鍵字修飾那些覆蓋父類方法的方法,C#程序員可能非常熟悉這個關(guān)鍵字,但是Java程序員可能有些不太理解,覆蓋……還需要關(guān)鍵字?我這里講一個我以前在Java&AS2時代遇到的麻煩,有一次,我寫一個Text組件,繼承自JSDK的JTextComponent類,我這個組件功能比較多,因此方法也比較多,其中有一個方法名叫updateText(具體名字我忘記了,這里隨便用一個)。這個組件雖然功能多,但是都很簡單,邏輯也很清晰,但是始終會發(fā)生很奇怪的錯誤,反復(fù)檢查了三千七百八十六遍代碼,還是找不到錯誤。***你猜錯誤在什么地方?就在updateText這里,原來JTextComponent也有這個方法,我又寫了同名的這個方法,因此就錯誤地覆蓋了JTextComponent的那個方法,當(dāng)然,不能正常工作了。你想想,要是覆蓋的方法都必須加上override關(guān)鍵字才能編譯通過,那么我在編譯的時候就會知道這里不該用這個名字了,也就不會浪費那么多時間了。簡單總結(jié)就是:override必須出現(xiàn)在覆蓋父類方法的方法前面,以避免無意的錯誤覆蓋。

◆override必須出現(xiàn)在protected,internal,public的前面。按照邏輯,你可以分析知道override不能出現(xiàn)在private和final的前面。
Void變成了void,這個只是字符變了,語義沒有變,查找替換即可。
Flex3教程中參數(shù)設(shè)置方面,變化的主要有:
參數(shù)數(shù)量嚴(yán)格檢查,在AS2中,方法申明中如果有n(n>=0)個參數(shù),在調(diào)用的時候,可以傳x(x>=0)個參數(shù),當(dāng)xn的時候,多于的參數(shù)則被忽略,也就是說,傳入的參數(shù)個數(shù)可以不跟申明的個數(shù)一致。而在AS3中,則必須一致。

參數(shù)缺省值設(shè)定,在AS3中可以有這種用法,申明functionmethod(x:int=1,y:int=2),調(diào)用時method()代表method(1,2),method(x)代表method(x,2)。這和C++語言是一樣的,熟悉C++的朋友可以跳過這一段了。也就說,缺省參數(shù)可以讓調(diào)用的時候少傳入一些參數(shù),沒有傳入的參數(shù)被缺省值代替。注意缺省參數(shù)必須是從后往左連續(xù)的,也就是說所有的缺省參數(shù)必須在必備參數(shù)的后面。這樣的用法method(param1:int,param2:String=””,param3:Number=6)可以,而method(param1:int=1,param2:String=””,param3:Number)不可以。

任意數(shù)量參數(shù),為了實現(xiàn)任意數(shù)量參數(shù)的方法,AS3增加了一種模式,method(…args)模式,
…args(args可以是任意合法變量名)代表一個數(shù)組,你可以通過遍歷數(shù)組的方式得到args內(nèi)所有參數(shù)。注意…args必須是***一個參數(shù),即是說method(param:int,…args)合法,而method(…args,param:int)不合法。使用例子: 

  1. package{  
  2. importflash.display.MovieClip;  
  3. publicclassRestParamExampleextendsMovieClip{  
  4. publicfunctionRestParamExample(){  
  5. traceParams(100,130,"two");//Output:100,130,two  
  6. trace(average(4,7,13));//Output:8  
  7. }  
  8. }  
  9. }  
  10. functiontraceParams(...rest){  
  11. trace(rest);  
  12. }  
  13. functionaverage(...args):Number{  
  14. varsum:Number=0;  
  15. for(vari:uint=0;i<args.length;i++){  
  16. sum+=args[i];  
  17. }  
  18. return(sum/args.length);  
  19. }  

 【編輯推薦】

  1. Flex 3教程中AS2和AS3可視元素的轉(zhuǎn)換
  2. 解析Flex3教程中AS2和AS3之間事件轉(zhuǎn)換
  3. 技術(shù)前沿 看Flex客戶端緩存技術(shù)如何使用
  4. 解析Flex全屏模式設(shè)置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-08-02 10:41:06

Flex3教程

2010-08-02 10:18:06

Flex3教程

2010-08-02 10:28:26

Flex 3教程

2010-08-02 10:50:55

Flex3

2010-07-27 09:37:44

Flex

2009-07-16 14:09:24

Flex3到Flex4

2010-08-02 13:04:04

Flex3

2010-08-02 12:44:01

Flex3Flex4

2010-07-28 11:12:19

Flex正則表達(dá)式

2010-08-12 15:10:17

Flex4

2010-07-01 12:09:46

UML類圖

2009-08-28 14:54:20

C# byte數(shù)組

2021-10-08 13:45:23

大數(shù)據(jù)數(shù)據(jù)科學(xué)家貨幣

2010-08-09 12:47:00

Flex4beta

2010-08-02 14:04:29

Flex4教程

2010-03-30 16:56:01

Oracle函數(shù)

2015-06-05 11:24:17

WPS金山軟件

2014-03-19 10:44:51

Linuxpng圖片

2011-09-07 15:38:33

Ubuntuccd2isonrg2iso

2010-08-11 13:08:36

Flex3
點贊
收藏

51CTO技術(shù)棧公眾號