2011-01-27 77 views
0

爲什麼輸入類,如果他們工作,即使你不?導入類?它是nesecarry?

import flash.display.Sprite; 
import flash.events.MouseEvent; 

var circle1:Sprite = new Sprite(); 
circle1.graphics.beginFill(0xFFCC00); 
circle1.graphics.drawCircle(40, 40, 40); 
circle1.buttonMode = true; 
circle1.addEventListener(MouseEvent.CLICK, clicked); 

爲什麼我們要導入類,如果代碼無論如何工作?如果兩條導入線路被轉義出來,代碼仍然可以工作

回答

3

如果代碼被編譯爲嚴格代碼,則需要這些導入。除非實例被作爲完全合格的類名稱進行了轉換。

例如

var circle1:flash.display.Sprite = new flash.display.Sprite(); 

,我相信你不想這樣做;)

我一直建議在嚴格模式下進行編譯,無論如何,並確保您的代碼是否正確輸入,並具有所需的參照(進口)。

+0

ok ..然後我也不得不問你這個問題;)爲什麼你必須在一個對象或變量之後編寫這個類型? var my_string:String ...嘿嘿..我只是覺得這是浪費時間..如果它工作得很好沒有..我來自PHP,我認爲這很容易寫(更快) – clarkk

+0

我真的可以說是閱讀靜態分類與Untyped。 – ocodo

+0

@ user555222 AS3是一種強類型語言,因此聲明對象類型是必不可少的語言功能,它是設計的一部分。如果你願意,你可以決定省略它,但這又是語言範例。 – PatrickS