日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Flex3教程AS2轉(zhuǎn)化成AS3的方法

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

為邕寧等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及邕寧網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、邕寧網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

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
  16. sum+=args[i];
  17. }
  18. return(sum/args.length);
  19. }

網(wǎng)站標(biāo)題:Flex3教程AS2轉(zhuǎn)化成AS3的方法
鏈接地址:http://www.5511xx.com/article/cogjjei.html