`
NewTamato
  • 浏览: 103200 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

flex namespace 入门

阅读更多

actionscript3.0入门(三) - namespace

2008-12-09  |  19:34分类:前端开发   |作者: louxinhua1984 |   标签:flex actionscript3.0   |  <!-- louxinhua1984-->151 views

1. actionscript3.0中的namespace
actionscript3.0中的namespace用来修饰变量名、方法名、xml标签、xml属性,其限
制了变量名、方法名、xml标签、xml属性的意义。

2. 创建namespace
我们创建namespace使用namespace关键字:
public namespace alisoft = “http://www.alisoft.com/”;
public namespace taobao = “http://www.taobao.com/”;
public namespace alipay = “https://www.alipay.com/”;
public namespace sme = “http://cn.alisoft.com/sme/”;
甚至
public namespace louxinhua;
一个最佳实践是namespace的值用URI,在上面的例子中
public namespace louxinhua;
这个namespace的uri属性值不是空,而是louxinhua。

3. 使用namespace限制变量、方法,包括namespace值一样的情况。
当声明了namespace以后我们就可以用它们来修饰我们的变量名、方法名。(这里不
引入xml)
比如 :
变量
alisoft var customerId:String = “123456”;
taobao var customerId:String = “123456”;
sme var customerId:String = “123456”;
方法
alisoft function sayHello():void {
……
}
taobao function sayHello():void {
……
}
sme function sayHello():void {
……
}
假如我们定义了2个namespace,其uri又是一样的, 比如
namespace test1 = “http://www.alisoft.com/”;
namespace test2 = “http://www.alisoft.com/”;
那么当我们去修饰相同的变量名或方法名时,flash编译将会不能通过。比如:
test1 var customerId;
test2 var customerId;

4.可以用namespace修饰的地方。
目前在actionscript3.0中,没有类变量、类方法才能被修饰。所以下面的情况都会出错:
alisoft class Test {
}

public function doSomething() :void {
alisoft var someVar:String;
}

package  p {
alisoft var someVar:String;
}
5.使用被namespace修饰过的变量、方法(包括use类型)
如果我们要引用被namespace修饰过的变量、方法,那么得用”::”的形式。
比如: alisoft:: sayHello();

package {
import flash.display.Sprite;
import test.as3.classtwo.Shoutable;
import test.as3.classtwo.impl.DefaultShout;
import test.as3.classtwo.impl.ShoutExt;
public class HelloWorld extends Sprite
{
public namespace alisoft = “http://www.alisoft.com/”;
public namespace taobao = “http://www.taobao.com/”;
public namespace alipay = “https://www.alipay.com/”;
public function HelloWorld()
{
alisoft::sayHello();
taobao::sayHello();
alipay::sayHello();
}
alisoft function sayHello():void {
trace(”alisoft say hello”);
}
taobao function sayHello():void {
trace(”taobao say hello”);
}
alipay function sayHello():void {
trace(”alipay say hello”);
}
}
}

下面看看完整的一个例子:
debug运行输出

如果觉得alisoft::sayHello()这样写比较麻烦, 可以用use来打开namespace。
比如: use namespace alisoft;
则 alisoft::sayHello() 可以写成sayHello()
当时这样作也有缺点,因为我们的例子里面taobao也有sayHello方法,如果同时
use namespace alisoft;
use namespace taobao;
那么当sayHello()时,就会有编译错误。

6. namespace举例
这里的例子是来自Adobe的Flex框架。Flex包括了几百个类,这些类分布在不同的包
中。一些类的变量和方法必须被其他包访问到,但是又不想被框架之外的类访问到。所以不
能把这些变量和方法声明为public。
为了类似达到这个目的,Flex框架就定义了一个namespace,mx_internal。
public namespace mx_internal = “http://www.adobe.com/2006/flex/mx/internal/”;
需要用到的类会use namespace mx_internal;
这说明了一些变量、方法是不希望被框架之外的类访问的。
为什么说是类似达到这个目的, 因为我们知道了namespace的uri,也就可以访问到
该命名空间下的东西了。

分享到:
评论

相关推荐

    Flex从入门到精通源代码

    这个压缩包“Flex从入门到精通源代码”显然是针对初学者或者想要深入理解Flex技术的开发者设计的,包含书中示例的源代码,帮助读者更好地理解和实践Flex编程。 在《Flex从入门到精通》这本书中,作者可能涵盖了以下...

    Flex从入门到精通

    Flex从入门到精通,电子书,深入浅出,工具书。。

    FLEX快速入门.zip

    FLEX快速入门.zip 用户在界面输入的数据可能不适合应用系统。在Flex应用程序中,可以使用validator来确保表单里的字段值满足某些标准。例如,你可以使用validator来确定用户输入有效的电话号码,确定字符串大于最小...

    FLEX简单的入门快速总结

    本篇文章将深入探讨Flex的基本概念、数据绑定、HTTPService的使用以及创建自定义事件,这些都是Flex入门阶段需要掌握的关键知识点。 首先,让我们来了解一下Flex的数据绑定。在Flex中,数据绑定是一种强大的机制,...

    Flex4中文快速入门

    在《Flex4中文快速入门》这本书中,你将学习到以下关键知识点: 1. **Flex SDK与Flash Builder**:Flex SDK是免费的开发工具包,包含编译器和库,用于创建Flex应用程序。而Flash Builder是一款集成开发环境(IDE)...

    Flex从入门到实践.

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA)的开放源码框架,它旨在提供在各种浏览器、桌面和操作系统上一致的用户体验。Flex的主要特点是其基于组件的开发方式,允许开发者利用标准语言和丰富的用户...

    Flex从入门到实践_1.ppt

    Flex从入门到实践,简单明了,是不错的入门资料。一共两个。此为1.

    Flex开发入门

    Flex开发是一种创建富互联网应用程序(RIA)的技术,它允许...压缩包内的`Flex 开发入门.mht`可能是一个教程文档,包含了更详细的步骤和示例,而`flexServer`和`flexWeb`可能是实际项目代码,供学习者参考和运行。

    Flex Namespace的用法

    Flex Namespace(命名空间)是用于定义组件唯一标识符的一种机制,它使得同一作用域内可以使用不同的库而不会出现名称冲突。在Adobe的Flex开发环境中,使用命名空间可以指定组件的来源,这样在编写MXML代码时就可以...

    Flex Blazeds入门教程

    ### Flex Blazeds入门教程详解 #### 一、引言 Flex Blazeds入门教程,由刘铭朝撰写于2008年3月21日,旨在解决开发者在搭建Flex与LCDS(Flex Data Services)工程时遇到的常见问题。这篇教程不仅详细介绍了创建项目...

    Flex教程大全 flex快速入门

    ### Flex教程大全:Flex快速入门 #### 一、Flex简介 Flex是由Adobe公司推出的一款用于构建Web应用程序的技术框架。它允许开发者使用MXML(一种基于XML的语言)和ActionScript(一种面向对象的脚本语言)来进行高效...

    flex blazeds的入门例子

    这个入门例子是针对初学者设计的,旨在展示如何使用Flex与BlazDS进行基本的数据交换。在这个实例中,我们关注的是一个简单的方法,该方法接收在Flex前端输入的字符串,并在Java后端返回一个处理后的字符串。 首先,...

    flex从入门到实践

    flex从入门到实践

    Flex开发入门指南

    Flex开发入门指南

Global site tag (gtag.js) - Google Analytics