因此,ActionScript 3具有Vector類(Vector。)的泛型。我還沒有看到任何其他類使用這種泛型。你會如何實現像Vector這樣的泛型。 <T>?
如果您要實現Vector。你自己,你會怎麼做?
因此,ActionScript 3具有Vector類(Vector。)的泛型。我還沒有看到任何其他類使用這種泛型。你會如何實現像Vector這樣的泛型。 <T>?
如果您要實現Vector。你自己,你會怎麼做?
如果你是在仿製藥之後,那麼你最好看看Haxe。它與ActionScript 3非常相似,並編譯爲swc或swf。
那麼你可以做一個類,它需要一個類型T作爲參數,像這樣 美孚(類型:*)
然後在所有從中可以添加項目到Vector類的方法,如果傳遞給該方法的對象的類型與我在創建矢量類時定義的類型不匹配,則會引發一些興趣。這就是說,你可能不會從這樣的類中獲得非常好的性能,因爲每次處理對象時,都需要在運行時檢查它是否爲真實類型,在C++模板類中創建編譯時,所以不需要執行運行時類型檢查。
回到上面的haxe文章...您可以在haxe中創建泛型然後將代碼編譯爲as3。最近沒有嘗試過,看看它是如何處理的,但是.. http://haxe.org/doc/flash/as3gen
AS3不支持泛型類聲明。有一個很好的討論here
「Object」類型的對象是否可以用作泛型? – 2013-07-05 11:47:38
不是我所知道的。此外,使用Object跳過整個編譯時檢查過程,這在這種情況下不是很有用。 – 2013-08-13 09:20:28
不,我真的想知道如何正確地實現它......使用Vector使用的泛型語法和編譯時檢查......他們做了一次......他們是怎麼做的它? – 2010-11-01 18:47:38
AS3中不存在泛型,您不能創建模板類或類似的東西。與泛型最接近的是Vector中的內置。類型。 –
dotminic
2010-11-01 18:51:05
但矢量是否......它是一次性的特殊編譯器嗎? – 2010-11-01 19:01:37