`
zbu57zbu
  • 浏览: 28137 次
社区版块
存档分类
最新评论

关于ActionScript 3.0 中方法重写和继承的发现

阅读更多

  子类: package { import mx.controls.Alert; public class SubClass extends SuperClass { public function SubClass() { } override public function init():void { Alert.show("SubClass - init"); } } } 
  父类:
  package { import mx.controls.Alert; public class SuperClass { public function SuperClass() { } public function init():void { Alert.show("SuperClass - init"); } public function callInit():void { init(); } } }
  大家看这段代码,在Java里面(注意:如果你要在Java里面运行这段代码的话,要改一些地方,Java的一些语法和ActionScript是不一样的 ),我们要是在main里面实例化一个SubClass对象(SubClass sub = new SubClass();)然后用sub.callInit();
  输出是:SuperClass - init;
  但是在Flex里面却是不一样,当我们实例化一个SubClass对象(var sub:SubClass = new SubClass();)然后用sub.callInit();
  输出是:SubClass - init;
  这是为什么呢? Google了半天,没有找到合理的解释。好像还没有人讨论过类似的问题。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics