成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Flex3教程 AS2轉化成AS3的方法

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

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

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

AS2和AS3差異點介紹:

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

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

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

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

任意數量參數,為了實現任意數量參數的方法,AS3增加了一種模式,method(…args)模式,
…args(args可以是任意合法變量名)代表一個數組,你可以通過遍歷數組的方式得到args內所有參數。注意…args必須是***一個參數,即是說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可視元素的轉換
  2. 解析Flex3教程中AS2和AS3之間事件轉換
  3. 技術前沿 看Flex客戶端緩存技術如何使用
  4. 解析Flex全屏模式設置方法
  5. Flex內存泄露解決方法和內存釋放優化原則
責任編輯:佚名 來源: csdn.net
相關推薦

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正則表達式

2010-08-12 15:10:17

Flex4

2010-07-01 12:09:46

UML類圖

2010-08-09 12:47:00

Flex4beta

2009-08-28 14:54:20

C# byte數組

2010-08-02 14:04:29

Flex4教程

2021-10-08 13:45:23

大數據數據科學家貨幣

2010-08-11 13:08:36

Flex3

2010-03-30 16:56:01

Oracle函數

2015-06-05 11:24:17

WPS金山軟件

2011-09-07 15:38:33

Ubuntuccd2isonrg2iso

2014-03-19 10:44:51

Linuxpng圖片
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久aⅴ乱码一区二区三区 亚洲国产成人精品久久久国产成人一区 | 成人免费观看男女羞羞视频 | 福利视频一区二区 | 日韩二区三区 | 黄色毛片免费看 | 隔壁老王国产在线精品 | 亚洲日韩中文字幕一区 | 国产精品成人在线 | 欧美色综合 | 国产精品久久久久久久久久妇女 | 国产中文字幕在线 | 国产午夜亚洲精品不卡 | 巨大黑人极品videos精品 | 亚洲欧美精品 | 日韩国产一区二区三区 | 国产精品久久在线 | 精品欧美一区二区在线观看欧美熟 | 伊人久久精品一区二区三区 | 精品在线99 | 国产日韩一区二区 | 成人在线观看免费 | 中文久久 | 天天爽天天操 | 欧美一区2区三区3区公司 | 国产欧美精品一区二区色综合朱莉 | 国产一区二区精品在线 | 久久乐国产精品 | 精品欧美在线观看 | 草逼网站 | 天天操天天怕 | 日韩在线一区二区三区 | 伊人伊人伊人 | 精品在线观看入口 | 日韩欧美一二三区 | 日韩电影中文字幕 | 欧美日韩亚洲视频 | 久久精品青青大伊人av | 成人影院av | 免费视频二区 | 九九免费视频 | av国产精品毛片一区二区小说 |