作者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
1F:推 ComicMan:推一个,好清楚的说明 08/02 19:40
2F:推 etrexetrex:推CJ大神 08/02 19:49
3F:推 STARGAZERs:推CJ大神 ~~~~~~~~ 08/02 20:11
4F:推 dsmwang: 推CJ大神 08/02 20:33
5F:推 l314:印象中AS3并没有强制super 要写在constructor第一行 .. 08/04 09:20
6F:推 l314:不过super写在constructor第一行是OO的common sense.. XD 08/04 09:28
8F:推 dsmwang:好像是as3会自动把它调到第一行...而且不写也会帮你补XD 08/04 11:57
9F:→ STARGAZERs:刚好 110 页看不到 XD 08/04 17:24
10F:→ cjcat2266:应该是要自动调到第一行的没错 08/04 17:28
11F:→ cjcat2266:superclass的constrcutor一定会比subclass的先执行 08/04 17:28