当前位置: 移动技术网 > IT编程>UI设计>设计软件 > flash as3.0中get与set的用法与案例代码

flash as3.0中get与set的用法与案例代码

2019年03月21日  | 移动技术网IT编程  | 我要评论
我们知道,我们在编写类的时候应该尽量将它的属性和方法都隐藏起来,但当我们要调用某一个属性的时候,我们就不得不将它暴露出来,这是唯一的一种解决方法吗?答案是否定的,我们现在要求这样,有一个属性,我们想从外部调用它,也能够从外部访问它,但是不让它暴露到外部,这时我们如何去做呢?这里就要用到我们的get关键字。下面我们就来详细讲解一下get及set的使用方法。
先来看一段脚本,

复制代码
代码如下:

package {
public class setget {
private var str:string = "欢迎";
public function get data():string {
return str;
}
public function set data(ns:string):void {
str= ns;
}
}
}

这段脚本并不长,但却很好的体现了get的使用方法,我们来看一下。首先我们定义了一个名称为huoqu的类,这个类中有一个私有属性ming,这个属性只能被当前类所访问。也就是说,我们无法在外部调用或访问这个属性。这时我们就要使用get来让这个属性能够被外部访问。那么我们先来看第一个get函数,这个函数有一个返回值,该返回值的类型是字符串。这个返回的数据就是一个我们隐藏的变量,通过这样的手法我们就达到了封装的目的。当我们调用这个变量的时候我们就可以直接调用ni这个函数,通过这个函数去操作变量。我们再来看set这个函数的使用方法。set顾名思义是设置的意思。我们如果没有写set函数,那么该属性只是一个只读属性。如果我们设置了这个set函数,那么该属性就可以读也可以设置。我们来看上面的脚本,这个函数接受了一个参数,该参数就是我们设置属性时要传递的值。请大家注意,set函数没有返回值,如果你设置了返回值,那么将会倒是编译错误。这就是类中声明定义的方法。
下面我们再来看看如何使用两个函数。我们先看脚本。

复制代码
代码如下:

package {
import flash.display.movieclip
public class setgets extends movieclip{
public function setgets():void
{
init();
}
private function init():void
{
var _set:setget = new setget ();
trace(_set.data)
_set.data="光临";
trace(_set.data);
}
}
}

首先,要定义一个对象,该对象的类型是我们定义的类。然后我们调用ni这个方法,虽然调用这个方法,实际上是读取一个属性的值。第三句我们设置了改属性的值,注意,此时调用的实际上就是set函数,我们再输出这个属性值,发现输出的内容发生了改变。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网