AS3中属性关键字

public:指定类、变量、常量或方法可用于任何调用者
private:指定变量、常量或方法仅可供声明或定义它的类使用
protected:指定变量、常量、方法或命名空间只可用于定义它的类及该类的任何子类
internal:指定类、变量、常量或函数可用于同一包中的任何调用者

 

里我们先重点看一下public、private这两个属性关键字,从字面上理解public是公共的意思,说简单点就是任何地方都可以调用, private是私有的意思,就是说只有这个类中才可以调用,我们用一个例子做一个简单的说明,还是在上一节中我们用的FLA文件中的第一帧加上这个的代码:

 



import net.smilecn.MyClass;
var myClass:MyClass 
= new MyClass();

myClass.r 
= 3;//正确

myClss.s 
= 18;//错误

可以看到因为r声明为public,所以我们在外部调用是正确的,s声明为private,所以不直接在外部访问s这个变量,这就是public和private的区别,那我们要在外部改变s的值应该怎么做呢,我们可以这样做,在来修改MyClass类:



package net.smilecn{
    
    
public class MyClass{
        
        
public const PI:Number = 3.1415926;
        
public var r:Number;
        
private var s:Number;
        
        
public function MyClass(){
            trace(
"这个我写的第一个类");
        }

        
        
public function setSValue(value:Number):void{
            s 
= value;
        }

    }

    
}

这样我们通过一个公共方法(方法就是函数的意思)设置了s的值,在FLA文件中这样调用:
myClass.setSValue(18);

就可以了,当然跟其它语言一样,我们也可以用get和set方法来读取或写入private变量的值:



package net.smilecn{
    
    
public class MyClass{
        
        
public const PI:Number = 3.1415926;
        
public var r:Number;
        
private var s:Number;
        
        
public function MyClass(){
            trace(
"这个我写的第一个类");
        }

        
        
public function set sValue(value:Number):void{
            s 
= value;
        }

        
        
public function get sValue():Number{
            
return s;
        }

    }

    
}

我们在调用的时候就可以用这样的语句了:

myClass.sValue =18;(当使用过set后可以这样操作)

var a = myClass.sValue;(当使用过get后可以这样操作)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值