`
kino
  • 浏览: 103040 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

as3备忘四-命名空间与访问控制符

    博客分类:
  • flex
阅读更多

1、命名空间用于控制所创建属性和方法的可见性。我们可以自己创建和使用命名空间。


2、访问控制符可以被似为命名空间,可称之为内置命名空间。访问控制符有:public private protected internal

 

3、内置命名空间,即访问控制符,可用于类、属性、方法、和自定义命名空间的声明,它的可见性:

public :对所有代码可见;

private: 只对定义所在的类内部可见;

i nternal :只对定义所在的同一包内可见;

protected :对定义所在的类和该类的子类可见,不管子类是否在同一包内。和java不同的是,即使在同一包中,如果不是子类,也是不能访问的。

 

4、自定义命名空间的使用过程:

一、使用关键字namespace定义命名空间。

二、声明属性和方法时,应用命名空间。

三、引用命名空间。

 

5、如何定义自己的命名空间?

有两种定义方式:

为命名空间指定一个唯一标识符,可以随便指定,只要保证唯一,如

namespace mySpace1="kino.iteye.com/space1";

 

直接定义命名空间,省略指定唯一标识符的步骤,这时系统自动为该命名空间分配一个默认的唯一标识符,如

namespace mySpace2;

 

可以使用内置命名空间,即访问控制符来控制自定义命名空间的可见性,如

package mypackage{
        namespace mySpace;
}

 

如上面定义的命名空间mySpace只会在包mypackage内部可见,对包外部是不可见的,如果要使它对包外部可见,可以使用public:

package mypackage{
        public namespace mySpace;
}

 

6、如何使用命名空间?

命名空间用来修饰属性和方法的声明,来控制属性和方法的可见性。

使用内置命名空间:

public myfunction():void{}

 

使用自定义命名空间:

namespace mySpace;

mySpace myfunction2():void{}
 

 

一个声明只能有也必须有一个命名空间修饰,也就是说自定义命名空间和访问控制符不能同时使用。当不指定任何命名空间时,默认使用internal内置命名空间。

类的声明只能使用内置命名空间(访问控制符),而不能使用自定义命名空间。

 

7、引用命名空间

对于内置命名空间,不需要引用,系统自会处理。

对于自定义命名空间,可以使用use关键字来引用和打开命名空间:

use mySpace2;
myfunction2();
 

用use打开的命名空间,会在该打开的代码块中保持打开状态,我们是不能显示关闭命名空间的。

 

用use,一次性可以打开多个命名空间。

 

如果打开多个命名空间,会出现命名冲突。我们可以改用限定符::引用命名空间,如

mySpace1::myfunction();
mySpace2::myfunction();
 

 

本文地址:http://kino.iteye.com/blog/235173 ,转载请注明,谢谢!

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics