Flex类之间的调用 package

     1、在ActionScript 3 中,类是最基本的编程结构,所以必须先掌握编写类的基础知识。对于初学者,所以de类都必须放在.as文件中,

每个as文件里只能定义一个public 类,而且类名字要与文件名相同。比如:你的类名为Example ,那么文件名必须为Example.as.

在ActionScript 3.0 中所有的类都必须放在包中。包是对类进行分类的单位,其意义相当于文件系统的目录。

包路径相对于classpath(类路径),默认的类路径就是项目的根目录(就是包含mxml文件的所在目录),因此顶级的包目录就是项目根目录。

包申明如下:

package name {
}

如果类定义在顶级包中,那么包名可以不指定,如:
package

{
}
当类文件保存在子目录,那么包名就是它的保存目录,例如,文件保存在example目录,那
么包这样申明:
package example {
}
如果类文件保存在example 目录的子目录subpackage, 应这样申明:
package example.subpackage {
}

类申明必须在包内。下面的代码在顶级包中定义了叫Example 的类:
package {
public class Example {
}
}

类主体在括号内定义,包括属性,方法。属性就是和类关联的变量,使用var关键字申明他
们,属性也有修饰符指定其范围。修饰符有:

private
该属性只有类实例自身可访问.
public
该属性可以被任何类实例访问(若直接被类访问可设置成static)
protected
该属性只被自身类实例或派生类实例访问。
internal
该属性可被包内的类实例访问。

默认情况下是属性被指定为internal ,除非自己指定修饰符。大多数情况,属性被指定为
private 或protected。按照习惯约定,private 和protected 申明的属性名称都在前面加上下划线

你可以使用function关键字像申明函数那样申明方法。和属性一样,
方法也有修饰符(public, private, protected, internal)。如果方法被类实例访问可设置为public(直
接被类访问则加上static).如果方法只在类内方法则被设置为private 或protected

按照约定,方法名称的起始字符必须为小写。每个类都有个和自己类名相同的方法,该方
法称为构造函数,用它为创建新的实例时进行初始化工作。在ActionScript 3.0 中,所有的构造
函数都是public ,不像标准的方法,构造函数不能有返回值,也不能申明有返回类型

类文件保存在与包路径相符的目录中, 比如:
com.examplecorp.net.messaging.email.MessageManager 必须保存在
com/examplecorp/net/messaging/email/目录下. 编译器就知道去哪里找类。还有编译器也必须知道
根目录是什么。例如,编译器需要知道com 目录在哪里,编译器是通过classpath来找到com目
录。默认的classpath就是Flex或Flash项目的根目录。例如,如果com 目录和.fla文件或mxml文件
的同一目录,编译器就能找到这些类。其实你也可以保存到其他目录,例如,如果你有个公共
库被多个项目使用,难道要拷贝多份到每个项目中,其实你可以编辑项目中的classpath来加入
该库,这样不需要拷贝就能找到你的自定义类了。

右键点击工程名,选择Properties,选择Build Path,在Source Path中添加和修改classpath就
可以了。如果你只使用SDK,那么当编译项目时必须设置classpath。使用mxmlc (Flex SDK中包
含的命令行编译器), 加上-source-path 选项, 跟上类目录,例如:
mxmlc -source-path . C:\libraries ExampleApplication.as

我的一个web项目中将所有的类放到一个目录中(比如WebROOT/domain),在其他目录中编写flex的mxml文件,又需要根据不同的功能模块将mxml放到不同的目录中(比如后台管理WebROOT/manage,前台页面WebROOT/sale),在mxml文件的

<mx:application xmlns:mx="&amp;lt;a" href="http://www.adobe.com/2006/mxml"><mx:application xmlns:mx="http://www.adobe.com/2006/mxml"></mx:application><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">中添加对该包的引用就能使用了</mx:application>

<mx:application xmlns:mx="http://www.adobe.com/2006/mxml" font=""><mx:application xmlns:mx="&amp;lt;a href=" www.adobe.com=" _fcksavedurl="><mx:Application xmlns:mx=http://www.adobe.com/2006/mxml xmlns:domain="domain.*"></mx:application></mx:application>

posted on 2010-03-02 13:27  遥望大海,云卷云舒  阅读(1342)  评论(0编辑  收藏  举报