2010-12-16 46 views
5

全部,在ActionScript3中顯式重寫構造函數

我在另一篇文章中遇到了這個有趣的事情。有人指出,你可以明確地重寫一個構造函數......這似乎不是必要的,我甚至有些驚訝它甚至編譯。看看:

public class TestClass 
{ 
    public function TestClass() {} 
} 

public class TestClass2 extends TestClass 
{ 
    public override function TestClass2() {} 
} 

在構造函數中顯式調用override可能只是一個no-op,因爲它當然不是必需的。 我的問題:這裏有一個微妙的東西,我失蹤了嗎?顯式重寫構造函數是否告訴編譯器?

+0

有趣的是,我不知道。除非有任何區別,否則這隻會增加不幸寫入的字符數。 – 2010-12-16 11:47:34

+0

@macke:當然。如果有理由使用它,那麼在這種情況下我會考慮它......但如果沒有好處,那麼我也不會使用它。只有混淆。 – 2010-12-16 12:25:54

回答

1

我認爲這只是一個有點AS3語法提供自由:)與被覆蓋的contstructor主權財富基金的
恕我直言字節碼等於SWF之一,一個正常

2
public class TestClass 
{ 
    public function TestClass() {} 
} 

public class TestClass2 extends TestClass 
{ 
    public override function TestClass2() { 
     super();//this makes call to the default constructor 
} 
+0

但是指定override關鍵字不是必需的。重寫指定adm在這裏嗎? – 2011-01-22 14:12:50