flash as2.0 与 as3.0的本质区别?

来源:百度知道 编辑:UC知道 时间:2024/05/31 17:17:44
一.flash as2.0 与 as3.0的本质区别?

二.flash当中的变量类型和定义方法与java,C++有那些相同和不同。

三.初学flex编程应该怎样学?从什么地方开始。

谢谢,请莫网上直接复制。

好的答案再加50。

首先,欢迎百度HI我,或者加百度群:1051316

问题一:
首先说下as2,as2实际上是as1的升级版,引入一面向对象的概念,但并不是完全面向对象的语言,只是在编译过程中支持OOP语法。as2的面向对象虽然不全面,但是却是首次将OOP带到了FLASH,而AS3是一个完全基本OOP的标准化面向对象语言,最重要的就是as3不是as2的简单升级,而完全是两种思想的语言。可以说,as3全面采用了面向对象的思想,而as2则仍然停留在面向过程阶段,举个例子,就像VB和C#的感觉。

所以as3绝不是as2的升级版,在as3里,可以看到java和c#的影子,确实,这三种语言大部分思想都是一致的,只有一些小的区别,比如as3引入了命名空间的概念,但是不支持比如委托,在包封装及外部访问上也引入了一些新概念。
在编译阶段,as2采用的是AVM1(actionScript vitual machine),而as3采用的是AVM2。新一代虚拟机采用了OOP思想,在执行速度上比起avm1也快了10倍。还提供了异常处理。以前我们在使用AS2时,一旦出错,AVM1选择的是静默失败,让人根本不知道什么地方出错了,会浪费大量的时间去查错,而AVM2与目前主流的编译器一样,会有异常处理,运行出错会输出错误提示,工作效率大大提高。如果做个对比,我想说,AVM1就是大刀长矛,而AVM2就是手枪,大刀和长矛也能杀敌,但是只在面对弱智的敌人才能发挥作用,面对一个大型项目,不用点现代化工具是不行滴。

as2与as3的部分区别,只说一些大的区别,小的不同太多,就不谈了:
1.运行时异常机制处理,这个刚才说过了。

2.事件机制,这也是很多人拿起as3就不知所措的原因,初学者会发现连一个按钮点击的方法都写不出来。实际上as3的事件机制采用的是监听的方式,和as2onClipEvent不同,as3里所有的事件都是需要触发器,监听器,执行器三种结构的,这样做的好处就是使得这个语言非常的坚强,非常大标准化。不像as2,奇形怪状的代码漫天飞,可以这样写,也可以那样写,代码变得繁复难懂,可读性太差,执行效率也大大降低。要特别说明的是,as3的所有事件都直接继承event对象,而event是直接继承自BO