博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Actionscript通过构造自定义事件和方法,谈谈可选参数的问题
阅读量:6434 次
发布时间:2019-06-23

本文共 2389 字,大约阅读时间需要 7 分钟。

在比较构造可选参数之前,我们先看看自定义事件和方法构造各自的过程。

自定义事件两步走,

第一步:

先继承Event类,并生成一个附加data;这个类我们可以定义为DataEvent。

//继承了Event类; public class DataEvent extends Event{
//构造一个属性,用于传递信息 private var eventData:*; private var eventData1:*; public function DataEvent(type:String, bubbles:Boolean=false,cancelable:Boolean=false, data:*=false,data1:* = true) {
//沿用之前规则 super(type, bubbles, cancelable); //eventData则实例生成完毕 eventData = data; eventData1 = data1; } //另外再续给DataEvent类三个方法: //使其data属性为子类所公用 public function get data():*{
return eventData; } public function get data1():*{
return eventData1; } //重写克隆方法 override public function clone():Event{
return new DataEvent(type,bubbles,cancelable, eventData,eventData1); } //重写toString方法 override public function toString():String{
return formatToString("DataEvent", "type", "bubbles", "cancelable", "data"); }

为什么要重写这两个方法?因为原来的Event类中的这两个方法是没有针对data的,而这里我们添加了data属性,所以我们就相应地重写覆盖这两个方法。

第二步:

public class CustomEvent extends DataEvent     {  //想构造多少就构造多少,自己命名就可以了。 public static constSUBMIT_ENTRY:String = "submitEntryOnly"; public function CustomEvent(type:String,data:*=true, data1:* = true)        {
super(type, true, true, data, data1); } //依然重写一次; override public function clone():Event {
return new CustomEvent(type,data,data1); } }

对于方法构造,相对来说就可以一行代码写清楚:

Function myFunciton(var1:类型,var2:类型)://返不返回随你便 {//随便写点什么}; 

写到这里,回到我们的主题:构造自定义event类的可选参数和构造方法中的可选参数问题。

在构造自定义event类时,我们注意:

public function DataEvent(type:String,bubbles:Boolean=false, cancelable:Boolean=false, data:*=false, data1:* = true)

我给定了data = false, data1 = true;这样做的结果是,他们有默认值。那换个说法,其实就是如果我不重新赋值,那么他们就会有默认值。

在构造方法时,

FunctionmyFunciton(var1:类型,var2:类型)://返不返回随你便 {//随便写点什么}; 我没有给出他们的default值,当然我也可以给他们值,如下: Function myFunciton(var1:类型= …,var2:类型=…)://返不返回随你便 {//随便写点什么};

其实如果你有自己跟着我的总结一起做的话,你应该会发现,actionscript的可选参数,实际上就是它已经有了默认值,你可以不一定再赋值,如果你再赋值,就会覆盖它的default值。如果没有默认值,那么你就必须给它值,否则actionscript就会报错提醒你少了参数。

另外还有一个小细节,这个也是actionscript的不足,即可选多个参数的省略问题。

在actionscript里面,加入有参数如下(var1,var2,var3,var4),

假设var1,var2是必要参数,那么我们就不谈了,

var3,var4是可选参数,那么我们可以省略这两者,也可以省略var4,但不能单独省略var3.

到目前为止,我在处理这个问题的时候,我会自定义时,根据参数的重要性的先后 来定义参数的位置。重要的放前,不重要的放后面。这样,我们就不会出现刚才所提到的尴尬了。但实际上这个并不算问题,我们就算把参数都写上也不会花多少时间。懒人才怕做细活。哈哈。

转载于:https://www.cnblogs.com/santiago1983/archive/2012/02/11/flash.html

你可能感兴趣的文章
htm、html、shtml网页区别
查看>>
InstallShield Build Error -1014: Cannot rename directory <PATH> to <PATH>\folder.Bak.
查看>>
HTML特殊符号对照表
查看>>
遍历文件夹下的子文件夹的时候,文件夹名字包含逗号或者空格
查看>>
SOD 框架
查看>>
SpringCloud学习笔记:服务注册与发现Eureka(2)
查看>>
input file 文件上传,js控制上传文件的大小和格式
查看>>
Sales Order ORA-04062 FRM-40815 in EBS R12.2.4
查看>>
第17件事 成功要素分析
查看>>
大型网站技术架构(四)--核心架构要素 开启mac上印象笔记的代码块 大型网站技术架构(三)--架构模式 JDK8 stream toMap() java.lang.IllegalStat...
查看>>
Docker极简入门
查看>>
servlet单实例多线程模式
查看>>
Keras Data augmentation(数据扩充)
查看>>
VTK计算网格模型上的最短路径
查看>>
open-falcon的邮件报警
查看>>
iOS9的几个新关键字(nonnull、nullable、null_resettable、__null_unspecified)
查看>>
GraphQL入门2
查看>>
可以落地的DDD到底长什么样?
查看>>
使用 Content-Encoding: br 替换 Content-Encoding: gzip
查看>>
【Linux】cp命令
查看>>