“动态”类定义在运行时可通过添加/ 更改属性和方法来改变的对象。非动态类(如 String类)是“密封”类。您不能在运行时向密封类中添加属性或方法。
在声明类时,可以通过使用 dynamic 属性来创建动态类。例如,下面的代码创建一个名为Protean 的动态类:
dynamic class Protean
{
private var privateGreeting:String = "hi";
public var publicGreeting:String = "hello";
function Protean()
{
trace("Protean instance created");
}
}
如果要在以后实例化 Protean 类的实例,则可以在类定义的外部向该类中添加属性或方法。例如,下面的代码创建 Protean 类的一个实例,并向该实例中添加两个名称分别为 aString和 aNumber 的属性:
var myProtean:Protean = new Protean();
myProtean.aString = "testing";
myProtean.aNumber = 3;
trace(myProtean.aString, myProtean.aNumber); // 测试 3
添加到动态类实例中的属性是运行时实体,因此会在运行时完成所有类型检查。不能向以这种方式添加的属性中添加类型注释。
您还可以定义一个函数并将该函数附加到 myProtean 实例的某个属性,从而向 myProtean 实例中添加方法。下面的代码将 trace 语句移到一个名为 traceProtean() 的方法中:
var myProtean:Protean = new Protean();
myProtean.aString = "testing";
myProtean.aNumber = 3;
myProtean.traceProtean = function ()
{
trace(this.aString, this.aNumber);
};
myProtean.traceProtean(); // 测试 3
但是,以这种方式创建的方法对于 Protean 类的任何私有属性或方法都不具有访问权限。而且,即使对 Protean 类的公共属性或方法的引用也必须用 this 关键字或类名进行限定。下面的示例说明了 traceProtean() 方法,该方法尝试访问 Protean 类的私有变量和公共变量。
myProtean.traceProtean = function ()
{
trace(myProtean.privateGreeting); // undefined
trace(myProtean.publicGreeting); // hello
};
myProtean.traceProtean();
分享到:
相关推荐
### Flex中ActionScript动态调用RemoteObject类 在Flex中,使用ActionScript动态调用RemoteObject类是一种常见的实现客户端与服务器端交互的方式。通过这种方式,开发者可以在客户端灵活地调用服务器端的服务,并...
这个“ActionScript 3.0类的关系图”为我们提供了一个直观的理解AS3类结构的方式,它揭示了不同类之间的继承关系、接口实现以及它们在整体框架中的位置。 在ActionScript 3.0中,类是对象的蓝图,定义了对象的属性...
ActionScript是一种专为创建动态内容,尤其是用于Adobe Flash平台的脚本语言。它在Web开发领域,特别是富互联网应用程序(RIA)的制作中扮演着重要角色。ActionScript 3.0,作为ActionScript的主要版本,于2005年...
在“ActionScript 3.0动态绘制正弦曲线”这个项目中,开发者利用了AS3的强大功能来创建可视化图形,特别是数学中的正弦函数图像。以下是关于这个主题的详细知识点: 1. **ActionScript 3.0基础**: - AS3.0相较于...
ActionScript是一种基于ECMAScript(JavaScript的标准化...通过深入学习和实践这些ActionScript开发技术,你可以创建出丰富多样的互动内容,无论是动态网页、游戏还是企业级应用,都能展现出强大的功能和无限的创意。
在本主题“ActionScript3.0动态广告”中,我们将深入探讨如何利用这一强大的脚本语言来构建引人注目的动态广告。 1. **ActionScript3.0概述** ActionScript3.0(AS3)是ActionScript的重大升级,引入了更严格的...
4.2.6动态类 85 4.3接口 86 4.3.1接口定义 86 4.3.2接口实现 87 4.3.3接口应用 87 4.4继承 89 4.4.1实现继承 89 4.4.2对象成员的继承 90 4.4.3静态成员继承 93 4.5包 94 4.5.1创建包 94 4.5.2类路径 95 4.5.3使用包 ...
8. **内置类库**:ActionScript 3.0包含丰富的内置类库,如Math类用于数学运算,Date类处理日期和时间,Array和Vector类处理数组数据。 9. **图形和动画**:ActionScript 3.0提供了强大的图形绘制和动画制作能力,...
ActionScript是一种强大的脚本语言,主要用于Adobe Flash平台,使开发者能够创建动态交互式内容、游戏和应用程序。ActionScript的发展经历了多个版本,从最初的ActionScript 1.0到ActionScript 3.0,后者提供了更...
2. **对象和类**:ActionScript 2.0基于面向对象编程,你需要理解类的定义、对象的实例化以及继承、封装和多态的概念。 3. **事件处理**:了解如何监听和处理用户与Flash内容的交互,如鼠标点击、键盘输入等。Event...
本教程针对ActionScript 3.0的动画制作进行了深入讲解,旨在帮助学习者掌握创建动态、引人入胜的视觉效果的关键技能。 在ActionScript 3.0中,动画的制作基于时间轴控制和编程控制两种方式。时间轴控制主要涉及关键...
要创建动态文本字段,我们需要使用TextField类。首先,在舞台上创建一个文本字段实例,然后设置其属性,如text、width、height等。例如: ```actionscript var dynamicTextField:TextField = new TextField(); ...
ActionScript 2.0相比早期版本,在功能和灵活性上有了显著提升,它引入了类和对象的概念,支持面向对象编程,这使得代码组织更加有序,复用性更强。语言参考中会详细讲解这些核心概念,包括类的定义、继承、封装和多...
《Flash ActionScript3.0教程示例(从入门到精通)》是一本全面解析ActionScript3.0编程语言在Flash平台上的应用的教程。ActionScript3.0是Adobe Flash Professional中的核心编程语言,用于创建交互式动画、游戏、富...
ActionScript是Adobe Flash平台上用于创建动态交互式内容的核心编程语言,广泛应用于网页、游戏、应用程序和动画制作。在这本手册中,读者将学习到如何利用ActionScript实现丰富的用户界面、控制多媒体元素、处理...
在ActionScript 3.0中,最大的改变之一是引入了类和强类型系统。这意味着开发者必须预先声明变量的类型,这有助于提高代码的稳定性和可维护性。此外,AS3还引入了命名空间,以解决命名冲突问题,提高了代码组织的...
1. **基础语法**:AS3引入了更严格的类型系统,包括动态类型和静态类型的区分,以及强类型变量的声明。此外,AS3的面向对象特性显著增强,支持类、接口、封装、继承和多态等概念。 2. **类与对象**:AS3中的类定义...