首页 > as3 中get和set的用法

as3 中get和set的用法

转载链接:http://blog.csdn.net/alongken2005/article/details/6625814



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

    先来看一段脚本,

package {

public class huoqu {

   private var ming:String = "中国";

   public function get ni():String {

    return ming;

   }

   public function set ni(ns:String):void {

    ming = ns;

   }

}

}

    这段脚本并不长,但却很好的体现了get的使用方法,我们来看一下。首先我们定义了一个名称为huoqu的类,这个类中有一个私有属性ming,这个属性只能被当前类所访问。也就是说,我们无法在外部调用或访问这个属性。这时我们就要使用get来让这个属性能够被外部访问。那么我们先来看第一个get函数,这个函数有一个返回值,该返回值的类型是字符串。这个返回的数据就是一个我们隐藏的变量,通过这样的手法我们就达到了封装的目的。当我们调用这个变量的时候我们就可以直接调用ni这个函数,通过这个函数去操作变量。我们再来看set这个函数的使用方法。

set顾名思义是设置的意思。我们如果没有写set函数,那么该属性只是一个只读属性。如果我们设置了这个set函数,那么该属性就可以读也可以设置。我们来看上面的脚本,这个函数接受了一个参数,该参数就是我们设置属性时要传递的值。请大家注意,set函数没有返回值,如果你设置了返回值,那么将会倒是编译错误。这就是类中声明定义的方法。

    下面我们再来看看如何使用两个函数。我们先看脚本。

var foo:huoqu = new huoqu();

trace(foo.ni)

foo.ni="我的天";

trace(foo.ni);

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

    以上就是get函数和set函数的使用方法,其实非常简单,大家只要自己尝试几次就能够熟练掌握其中的技巧

更多相关:

  • 英语的重要性,毋庸置疑!尤其对广大职场人士,掌握英语意味着就多了一项竞争的技能。那,对于我们成人来说,时间是最宝贵的。如何短时间内在英语方面有所突破,这是我们最关心的事情。英语学习,到底有没有捷径可以走,是否可以速成?周老师在这里明确告诉大家,英语学习,没有绝对的捷径走,但是可以少走弯路。十多年的教学经验告诉我们,成功的学习方法可以借...

  • 展开全部 其实IDLE提供了一个显32313133353236313431303231363533e78988e69d8331333365663438示所有行和所有字符的功能。 我们打开IDLE shell或者IDLE编辑器,可以看到左下角有个Ln和Col,事实上,Ln是当前光标所在行,Col是当前光标所在列。 我们如果想得到文件代码...

  • 前言[1]从 Main 方法说起[2]走进 Tomcat 内部[3]总结[4]《Java 2019 超神之路》《Dubbo 实现原理与源码解析 —— 精品合集》《Spring 实现原理与源码解析 —— 精品合集》《MyBatis 实现原理与源码解析 —— 精品合集》《Spring MVC 实现原理与源码解析 —— 精品合集》《Spri...

  • 【本文摘要】【注】本文所述内容为学习Yjango《学习观》相关视频之后的总结,观点归Yjango所有,本文仅作为学习之用。阅读本节,会让你对英语这类运动类知识的学习豁然开朗,你会知道英语学习方面,我们的症结所在。学习英语这类运动类知识,需要把握四个原则第一,不要用主动意识。第二,关注于端对端第三,输入输出符合实际情况第四,通过多个例子...

  • 点云PCL免费知识星球,点云论文速读。文章:RGB-D SLAM with Structural Regularities作者:Yanyan Li , Raza Yunus , Nikolas Brasch , Nassir Navab and Federico Tombari编译:点云PCL代码:https://github.co...

  • 一、代码结构概览1.核心部分configs:储存各种网络的yaml配置文件datasets:存放数据集的地方detectron2:运行代码的核心组件tools:提供了运行代码的入口以及一切可视化的代码文件。2.Tutorial部分demo:显而易见就是demodocs: 同样显而易见。。tests:提供了一些测试代码projects:...

  •     我刚刚接手这个项目的时候就被一系列不知所措的文件命名给深深的震惊了,那种振聋发聩不亚于听到赌王离世的消息。 首先请看,文件本来是用于处理“请假审批”,但是文件名居然叫做“teaApprove”,不要欺负我的初中英语不好,这个teaApprove我第一个感觉就是和“喝茶、茶叶”有关的业务,可是和我们这个项目八竿子打不着...

  • 这个问题简单,不做过多描述,如题所述,如果因为这个导致错误,请安装 npm install stylus-loader css-loader style-loader -D...

  • 使用这个宏TS_VERSION_MAOR来判断,这个宏定义在编译时生成在apidefs.h,它包含在ts/ts.h中,所以请在插件这包含...

  • linux valgrind Memcheck–内存检查工具 使用方法: 注意,这里要用debug版本,如果是release的运行文件,则用debug编译出来的可执行文件替换 输出到终端: valgrind --tool=memcheck --leak-check=full ./test.out 输出到文件: valgri...

  • 草色新雨中, 松声晚窗里。之前我们学习 Power Query 都是用鼠标就完成了很多复杂的操作。虽然 PowerQuery 已经将大部分常用功能内置成到功能区。基本能完成我们大部分的报表自动化功能。但是总有些复杂的或者个性化的问题是开发团队没有预先想到的,这时我们就需要学习 M 语言。一、M 语言在哪里?M语言的函数公式有三个地...

  • 前言从2020年3月份开始,计划写一系列文档--《小白从零开始学编程》,记录自己从0开始学习的一些东西。第一个系列:python,计划从安装、环境搭建、基本语法、到利用Django和Flask两个当前最热的web框架完成一个小的项目第二个系列:可能会选择Go语言,也可能会选择Vue.js。具体情况待定,拭目以待吧。。。基本概念表达式表...

  • 1.1函数1.1.1什么是函数函数就是程序实现模块化的基本单元,一般实现某一功能的集合。函数名:就相当于是程序代码集合的名称参数:就是函数运算时需要参与运算的值被称作为参数函数体:程序的某个功能,进行一系列的逻辑运算return 返回值:函数的返回值能表示函数的运行结果或运行状态。1.1.2函数的作用函数是组织好的,可重复使用的,用来...

  • 原标题:基于Python建立深度神经网络!你学会了嘛?图1 神经网络构造的例子(符号说明:上标[l]表示与第l层;上标(i)表示第i个例子;下标i表示矢量第i项)单层神经网络图2 单层神经网络示例神经元模型是先计算一个线性函数(z=Wx+b),接着再计算一个激活函数。一般来说,神经元模型的输出值是a=g(Wx+b),其中g是激活函数(...

  • 在学习MySQL的时候你会发现,它有非常多的函数,在学习的时候没有侧重。小编刚开始学习的时候也会有这个感觉。不过,经过一段时间的学习之后,小编发现尽管函数有很多,但是常用的却只有那几个。今天小编就把常用的函数汇总一下,为大家能够能好的学习MySQL中的函数。MySQL常使用的函数大概有四类。时间函数、数学函数、字符函数、控制函数。让我...