Re: [問題] 請問一下 class 裡面 super 這指令?

看板Flash作者 (CJ Cat)時間15年前 (2010/08/02 19:34), 編輯推噓8(803)
留言11則, 6人參與, 最新討論串2/2 (看更多)
※ 引述《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

08/02 19:40, , 1F
推一個,好清楚的說明
08/02 19:40, 1F

08/02 19:49, , 2F
推CJ大神
08/02 19:49, 2F

08/02 20:11, , 3F
推CJ大神 ~~~~~~~~
08/02 20:11, 3F

08/02 20:33, , 4F
推CJ大神
08/02 20:33, 4F

08/04 09:20, , 5F
印象中AS3並沒有強制super 要寫在constructor第一行 ..
08/04 09:20, 5F

08/04 09:28, , 6F
不過super寫在constructor第一行是OO的common sense.. XD
08/04 09:28, 6F

08/04 09:31, , 7F
08/04 09:31, 7F

08/04 11:57, , 8F
好像是as3會自動把它調到第一行...而且不寫也會幫你補XD
08/04 11:57, 8F

08/04 17:24, , 9F
剛好 110 頁看不到 XD
08/04 17:24, 9F

08/04 17:28, , 10F
應該是要自動調到第一行的沒錯
08/04 17:28, 10F

08/04 17:28, , 11F
superclass的constrcutor一定會比subclass的先執行
08/04 17:28, 11F
文章代碼(AID): #1CLgrCCz (Flash)
文章代碼(AID): #1CLgrCCz (Flash)