作者cjcat2266 (CJ Cat)
看板Flash
標題Re: [問題] 請問一下 class 裡面 super 這指令?
時間Mon Aug 2 19:34:33 2010
※ 引述《STARGAZERs (星之影)》之銘言:
: super 這指令到底在幹嘛@@"
: 1. package {
: 2. public class ABC extends PAPA {
: 3. public function AAA(vars:object)
: 4. super(vars)
: 5. }
: 6. }
假設B繼承A
那麼new B()會先執行A的constructor
然後才是執行B的constructor
若A的constructor接收參數
那就可以在B的constructor中傳參數給它
也就是寫像super(vars)這種東西
就算在B的constructor不寫super()
編譯的時候還是會自動在第一行幫你捕super()
就當作是執行A的constructor,但是沒有給任何參數
另外,super()只能寫在constructor的第一行
--
CJ Cat = Croa'J Cat = Cockroach Cat = 西街凱特 = 蜚蠊貓 = 蟑螂貓
Blog
http://cjcat.blogspot.com
Gallery
http://cjcat2266.deviantart.com
ptt2 Board CJWorkshop - 阿多比閃光(Adobe Flash)研討區
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.211.109.66
推 ComicMan:推一個,好清楚的說明 08/02 19:40
推 etrexetrex:推CJ大神 08/02 19:49
推 STARGAZERs:推CJ大神 ~~~~~~~~ 08/02 20:11
推 dsmwang: 推CJ大神 08/02 20:33
推 l314:印象中AS3並沒有強制super 要寫在constructor第一行 .. 08/04 09:20
推 l314:不過super寫在constructor第一行是OO的common sense.. XD 08/04 09:28
推 dsmwang:好像是as3會自動把它調到第一行...而且不寫也會幫你補XD 08/04 11:57
→ STARGAZERs:剛好 110 頁看不到 XD 08/04 17:24
→ cjcat2266:應該是要自動調到第一行的沒錯 08/04 17:28
→ cjcat2266:superclass的constrcutor一定會比subclass的先執行 08/04 17:28