習慣了C++和Java的語法,,以為ActionScript3也同樣支持函數(shù)重載,,昨天試著寫了下面這樣一個類后發(fā)現(xiàn)居然報錯:Multiple constructor definitions found,,原來ActionScript3并不支持我們常用的那種函數(shù)重載方式。
那么在ActionScript3里是如何實現(xiàn)這樣的功能的呢,?其實是借鑒c語言里的可變參數(shù)列表來實現(xiàn)的,,腳本語言好像都是這么做的,如下所示: 我們自己先規(guī)定好可接受的參數(shù)列表,,然后去做相應的處理,。但缺點是很明顯的,沒有編譯時的參數(shù)檢查,,出錯的概率增大,。不過畢竟不是強類型語言,不能要求這么嚴格的,。調用時就可以如下所示: public function init():void
{ var c1:MyClass = new MyClass(); Alert.show(c1.Name,"info"); var c2:MyClass = new MyClass("hello"); Alert.show(c2.Name,"info"); } |
|