flash actionscript class 里的public private 和static的区别?

来源:百度知道 编辑:UC知道 时间:2024/06/05 17:11:53
初学脚本,多多指教

AS2.0我不知道的了.不过,AS3.0的,还是晓得点儿的了.

public是公共类,一个包里面必然只能一个外部可见类,即只能有一个public calss,如果还有其它类,那一定是private class或者internal class,这些都是外部不可访问的.只能在package包里面使用的了.

static与dynamic
只要是类,就一定要实例才可以使用的了吧.只是static写成后,就直接用里面已有的属性与方法了,不可以再通过实例再向里面添加方法的;而dynamic类,可以通过实例向里面加方法.
例如
package
{
public class classExample extends MovieClip
{
public function classExample():void
{
var sClass:staticClassExample=new staticClassExample();
trace(sClass.fromStaticClass);//正确
sClass.addProperty="123";//错误,因为static class里面不可以新添属性
trace(sClass.addProperty);//错误,因为不存在这个属性

var dClass:dynamicClassExample=new dynamicClassExample();
trace(dClass.fromDynamicClass);//正确
dClass.addProperty="456"//正确,为动态类的实例加入新的属性键与属性值.
trace(dClass.addProperty);//正确
}
}
}
class staticClassExample
{
public var fromStaticClass:String="fromStaticClass !!";