- 浏览: 252492 次
- 性别:
- 来自: 厦门
文章分类
最新评论
-
topbox163:
图片显示不了
Flex 学习曲线图 -
彭利贤:
你好,想请教您一些关于flash的问题,您可以加我qq吗 59 ...
全屏flash的尺寸分析 -
jingj6:
是开源的吗?
小日本做的非常强大的一款AS3 3D引擎 -
hugh52066:
LZ牛B。
Flex 学习曲线图 -
sweed0:
a dream~~
一个让人瞠目结舌的传奇电脑高手!
7.1 了解 ActionScript 3.0
7.1.1
AS 3.0 不是 AS 2.0 简单的升级
- AS 3.0 支持运行期间的数据类型验证。AS 2.0只支持者编译期间的类型验证。
- 增强的异常处理机制
- 使用新的虚拟机AVM2(ActionScript Virtual Machine),代码的运行速度提升了10倍以上。
请结合上文阅读下面的小贴士
var str:* 这里的星代表不确定类型,可以赋予任意类型的值。 使用下面的代码来捕获/处理异常: try{ 代码 }catch(errObject:Error){ trace("这里在代码处发生错误执行,错误信息:"+errObject.message); }finally{ trace("这里一定会被执行"); } AS2.0 代码编译为字节码,体积小且安全,无法直接浏览SWF中的代码,但执行效率较低。计算机采用的是二进制代码来执行。AS3.0采用了JIT(Just in time compilation)技术,程序中运行时将字节码翻译为二进制码,并保存在内存中,从而改善了字节码的执行性能。 |
7.1.2 面向对象的编程思想
在AS3.0中所有一切都是对象,每个对象都具有自己的属性和方法。
在面向对象的程序设计中,对象必须被定义为类,它具有如下面向对象的特性:
在面向对象的程序设计中,对象必须被定义为类,它具有如下面向对象的特性:
- 封装 :最主要的优点就是将对象的信息隐藏,吧功能模块化。用户关心的是怎么去用这个类,不关心它是怎么实现的。
- 继承 :子类可以继承父类的方法和属性,还可以增加自己的新功能和属性。
- 可重用 :体现了封装和继承的优点。
抽象类:无法产生对象,定义很广泛,范围很大,无法有与之对应的具体实现。用来被其子类继承,它的子类必须定义了父类的抽象方法。
7.2 AS 3.0 的面向对象语法
7.2.1 创建类和对象
7.2.1 创建类和对象
在ActionScript 中,类以as 为扩展名,文件名和类名相同。区分大小写,基本语法:
package 包名 { 修饰词 class 类名 { //代码块 } } |
package :类所属的包,一个类必须被放在包中。一个包对应文件系统中的一个文件夹,多层级的包对应多层级的文件夹,层级之间用点号分开:package mx.controls
类和变量以及函数名都遵循相同的命名规则,只能由字母、数字和下划线组成,不能以数字开头。类的定义必须在package 里面。
在一个AS类文件中,只能有一个public 类型的类,位于package 里面,且文件名必须和这个类名相同。
类有以下的修饰词:
类和变量以及函数名都遵循相同的命名规则,只能由字母、数字和下划线组成,不能以数字开头。类的定义必须在package 里面。
在一个AS类文件中,只能有一个public 类型的类,位于package 里面,且文件名必须和这个类名相同。
类有以下的修饰词:
- public:公有类型,这个类可以在任何地方的任何对象访问,一般用来定义全局使用的类。
- internal:内部类型,只能在同一个package 中的类才能访问,如果没有指定修饰词为internal。
- dynamic:动态类型,类的属性和方法不确定,允许在运行时动态的添加。MovieClip 类便是动态类。当要继承动态类时,也要定义为动态类型。一般只用于特殊场合。
- final:终点类型,表示类是继承关系中的终点,不能被继承。可以被视为一个固定的、无法被动态修改的常数。
在一个as文件中,可以定义多个类,但只能一个类位于package 中。
var 对象名:类名 = new 类的构造函数(); //实例化一个类
var 关键字用来声明一个变量或对象。
如果使用的类和代码所在的对象不在同一个包时,需要用 import 关键字将它引用进来:import 类的路径
类的构造函数:定义变量时被调用,跟类名相同的函数,必须是public类型,且没有返回值。构造函数是可选的,当没有定义时,编译器会自动添加一个空的函数。
7.2.2 定义属性和函数
属性是定义在类中的变量或者常量,而方法则对应一个函数,当调用类的方法时,也就是执行一个函数来完成相应的功能。
属性定义:定义一个类型为String的属性str,并符初始值"Hello"
private var str:String = "Hello";
方法:定义了一个方法ff 返回值为空,方法必须定义返回值
public function ff():void{//方法代码};
使用关键字 this 代表当前对象,指向类的实例。只有在创建类的实例时,this 才确立了自己的身份。
属性和函数有以下修饰词:public > internal > protected > private
函数参数默认值:如果调用函数时没有传入值,则使用默认值。
public function doTest(s:String = "默认值"):void{//代码}
函数的不定参数:参数的个数可以动态改变,不定参数使用...args 的形式,其中args是一个数组,存放了所有的参数。比如:
public function doTest(...args):void{
args[0];
args[1];
.....
}
调用时:
doTest("参数1","参数2",...);
属性定义:定义一个类型为String的属性str,并符初始值"Hello"
private var str:String = "Hello";
方法:定义了一个方法ff 返回值为空,方法必须定义返回值
public function ff():void{//方法代码};
使用关键字 this 代表当前对象,指向类的实例。只有在创建类的实例时,this 才确立了自己的身份。
属性和函数有以下修饰词:public > internal > protected > private
- public:公有类型,可以被所有的类使用。
- protected:保护类型,定义的属性和函数可以在内部使用,或者在子类的内部使用,但外部是无法看到的。
- private:私有类型,最严格的类型,只能在类的内部使用,外部无法看到的。
- internal:内部类型,只能在同一个package 内部使用,可以被同一个 package 内的类访问。
函数参数默认值:如果调用函数时没有传入值,则使用默认值。
public function doTest(s:String = "默认值"):void{//代码}
函数的不定参数:参数的个数可以动态改变,不定参数使用...args 的形式,其中args是一个数组,存放了所有的参数。比如:
public function doTest(...args):void{
args[0];
args[1];
.....
}
调用时:
doTest("参数1","参数2",...);
7.2.3 静态属性、函数和常量
类的属性或者函数具有唯一性,即使类没有被实例化,它们也始终存在于内存中,不管类有多少个实例,静态属性和函数都只有1个,且和实例没有关系。
静态函数只能访问类的静态变量和静态函数。
定义静态类型:使用关键字 static ,其中public 和static 位置可以对调。
public static var str:String = "Hello";
public static function doTest(s:String):void{}
定义常量:常量的值在确认后就不能改变,使用关键字 const 定义:
public const STR:String = "我是常量";
如果将常量定位为静态类型,就成为了类的 静态常量。
一般采用大写字母定位常量。
静态函数只能访问类的静态变量和静态函数。
定义静态类型:使用关键字 static ,其中public 和static 位置可以对调。
public static var str:String = "Hello";
public static function doTest(s:String):void{}
定义常量:常量的值在确认后就不能改变,使用关键字 const 定义:
public const STR:String = "我是常量";
如果将常量定位为静态类型,就成为了类的 静态常量。
一般采用大写字母定位常量。
7.2.4 继承
继承是指在已有类的基础上加新的属性和方法,保留了已有类的属性和方法。
AS 3.0 只允许一次继承一个父类。
子类可以访问父类中 public 和protected 类型的属性和函数,如果父类和子类中同包下,可访问internal类型的属性和方法,但private是无法访问的。
子类不能定义父类非private类型的属性和方法。
继承类使用关键字 extends:
public class subFl extends Fl
覆盖父类的方法:使用关键字 override ,在覆盖时,方法的格式必须是一样的。
父类方法:protected function doTest():void;
覆盖的方法:override protected function doTest():void;
调用父类的方法:super.doTest();
使用final 关键字定位为类不能被继承。
AS 3.0 只允许一次继承一个父类。
子类可以访问父类中 public 和protected 类型的属性和函数,如果父类和子类中同包下,可访问internal类型的属性和方法,但private是无法访问的。
子类不能定义父类非private类型的属性和方法。
继承类使用关键字 extends:
public class subFl extends Fl
覆盖父类的方法:使用关键字 override ,在覆盖时,方法的格式必须是一样的。
父类方法:protected function doTest():void;
覆盖的方法:override protected function doTest():void;
调用父类的方法:super.doTest();
使用final 关键字定位为类不能被继承。
7.2.5 接口
AS3.0 没有提供定义抽象类的方法,只提供了接口。
接口是若干方法的集合,它只声明这些方法,而不实现方法。描述一类具有共同特性的对象,这些对象都实现了接口中的方法,同时有自己的特点。
接口只支持:public 或者 internal
定义接口:
public interface IExample{
function start(task:String):void;
function stop(task:String):void;
}
接口也可以实现继承,一次能继承多个接口:
public interface IExample extends Iinterface1, Iinterface2
接口的实现:implements ,一次可以实现多个接口,用逗号分隔。
public class Example implements IExample{
public function start(task:String):void{
//
}
public function stop(task:String):void{
//
}
}
在实现类中,必须定义接口中所有的方法,且遵循以下规则:
接口是若干方法的集合,它只声明这些方法,而不实现方法。描述一类具有共同特性的对象,这些对象都实现了接口中的方法,同时有自己的特点。
接口只支持:public 或者 internal
定义接口:
public interface IExample{
function start(task:String):void;
function stop(task:String):void;
}
接口也可以实现继承,一次能继承多个接口:
public interface IExample extends Iinterface1, Iinterface2
接口的实现:implements ,一次可以实现多个接口,用逗号分隔。
public class Example implements IExample{
public function start(task:String):void{
//
}
public function stop(task:String):void{
//
}
}
在实现类中,必须定义接口中所有的方法,且遵循以下规则:
- 函数必须声明为 public 类型
- 函数名相同
- 参数数量和类型相同
- 返回值类型相同
同时继承类和实现接口:
public class Example extends Canvas implements IExmple
发表评论
-
如何使用Cairngorm3的导航库(Spring AS)
2011-08-29 17:39 2904一、概述 二、LIB库包配置 下载需要的LIB库 ... -
Flex学习笔记_06 使用行为对象和动画效果_ 放缩\调整大小效果
2008-09-28 16:47 38296.3.2 放缩效果和调整大 ... -
Flex学习笔记_06 使用行为对象和动画效果_模糊、发光效果
2008-09-27 22:33 31766.3.1 模糊效果和发光效 ... -
Flex学习笔记_06 使用行为对象和动画效果_认识行为对象、行为和组件
2008-08-17 01:30 22326.1 认识行为对象 6.1.1 什么是行为对象 行 ... -
Flex学习笔记_09 数据绑定_运用实例
2008-07-28 23:41 32449.3.1 实现界面的多语言切换 <?xml vers ... -
Flex学习笔记_09 数据绑定_晋级篇
2008-07-28 22:27 28789.2.1 函数和类级别的绑 ... -
Flex学习笔记_09 数据绑定_概念、使用
2008-07-21 23:32 20759.1 认识数据绑定 9.1.1 数据绑定的概念 ... -
Flex学习笔记_08 Flex的事件机制_高级应用
2008-07-16 23:11 32048.3 事件机制的高级应用 8.3.1 事件的优先级别和 ... -
Flex学习笔记_08 Flex的事件机制_事件工作流程
2008-07-15 09:05 27358.2 事件机制的工作流程 8.2.1 关于事件流 ... -
Flex学习笔记_08 Flex的事件机制_事件架构
2008-07-14 08:54 24908.1 一切从事件开始 8.1.1 关于事件 事件有 ... -
Flex学习笔记_07 ActionScript 3.0 编程基础_数据类型及其运算、程序流程
2008-07-13 19:21 46647.3 数据类型和数据运算 7.3.1 关于数据类型 ... -
Flex学习笔记_06 使用组件处理数据和交互_03控件的实例应用
2008-07-06 14:26 25923. 控件的实例应用 3.1 制作一个简单的涂鸦板 ... -
Flex学习笔记_06 使用组件处理数据和交互_02导航类组件
2008-07-02 00:04 30032. 导航类组件 2.1 ToggleButtonBa ... -
Flex学习笔记_06 使用组件处理数据和交互_01常用组件(下)
2008-06-30 10:37 4624Flex学习笔记_06 使用组 ... -
Flex学习笔记_06 使用组件处理数据和交互_01常用组件(中)
2008-06-29 22:50 3974Flex学习笔记_06 使用组件处理数据和交互_01常用组件( ... -
Flex学习笔记_06 使用组件处理数据和交互_01常用组件(上)
2008-06-26 23:11 4540Flex学习笔记_06 使用组件处理数据和交互_01常用组件( ... -
Flex学习笔记_05 使用容器控制界面布局_03动态布局、导航容器、表单布局
2008-06-25 08:40 6717本文的相关文章: Flex学习笔记_05 使用容器控制界面布局 ... -
Flex学习笔记_05 使用容器控制界面布局_02窗口布局
2008-06-24 09:07 5157本文的相关文章: Flex学习笔记_05 使用容器控制界面布局 ... -
Flex学习笔记_05 使用容器控制界面布局_01管理程序的布局
2008-06-23 23:52 5660本文的相关文章: Flex学习笔记_05 使用容器控制界面布局 ... -
Flex学习笔记_04 MXML语言简介
2008-06-17 22:52 54541. MXML语法 MXML语言是专门用于Flex程序中, ...
相关推荐
Flex ActionScript 学习笔记是关于使用Adobe Flex技术并结合ActionScript 3.0进行开发的知识总结。ActionScript 3.0是随着Flash CS3一起推出的一种强大的编程语言,相较于之前的ActionScript版本,它有着显著的提升...
《Flex3.0学习手册》是Bēniaǒ成长笔记中的一部分,由“虾皮工作室”整理而成,旨在帮助读者深入了解Flex3.0及其相关技术。本书不仅涵盖了Flex3.0的基础知识,还涉及到了ActionScript 3.0的应用以及与Flash Media ...
### Flex新手教程_入门级学习笔记 #### ActionScript核心概念 **ActionScript(简称AS)** 是一种面向对象的编程语言,主要用于开发Flex应用程序。掌握AS的基础知识对于学习Flex至关重要。 ##### 类和对象 (Class...
《AS3.0_AS3殿堂之路_笔记》是针对Adobe ActionScript 3.0(简称AS3)深入学习的一份详尽笔记,旨在帮助学习者系统掌握这一强大的编程语言,尤其对于想要在Flash平台上进行交互式内容开发的人员来说,这份笔记具有极...
3. ActionScript 3.0的基础语法和面向对象编程,如类的定义、继承、封装和多态。 4. Flex事件模型,理解事件的生命周期和如何处理事件。 5. 数据服务集成,如使用AMF通信协议与服务器端的PHP、Java或.NET进行数据...
AS 3.0,全称为ActionScript 3.0,是Adobe公司开发的一种面向对象的编程语言,主要用于创建互动性的富媒体内容,如网页动画、游戏以及Adobe Flash Player支持的应用程序。AS 3.0是Flash平台的重要组成部分,带来了...
- **ActionScript 3.0编程**:深入学习ActionScript 3.0,提高编程技能。 - **在线Flex资源**:探索官方提供的Flex入门体验、支持中心、开发者中心、文档资源中心等资源。 - **在线入门体验**:通过示例代码和教程...
- **ActionScript 3.0**:Flex 2.0的核心编程语言,提供了更强大的面向对象编程能力,性能也得到了大幅提升。 - **Flash Player 9**:作为Flex 2.0的运行环境,相比之前的版本在性能上有显著提高。 ##### 2.2 应用...
【Flex Parsley IOC框架笔记】 Flex Parsley是一个强大的Inversion of Control (IoC)框架,专为Adobe Flex和ActionScript开发者设计,它基于依赖注入和MVC(Model-View-Controller)开发模式,旨在简化Flex应用程序...
总的来说,PV3D提供了一个强大且灵活的3D开发环境,结合详细的API文档、学习笔记和实际案例,开发者能够掌握从基础到高级的各种3D编程技能。无论是创建引人入胜的3D动画还是构建沉浸式的全景体验,PV3D都是Flash平台...
《殿堂之路完全笔记》是一份全面且深入的ActionScript 3学习资料,旨在帮助读者巩固和理解这门编程语言的基础。ActionScript 3是Adobe Flash和Flex开发中的核心语言,对于创建互动媒体和富互联网应用至关重要。 在...