• Event事件的clone方法


    在自定义事件中,一般都是继承自flash.events.event,一个鲜为人知的细节是,对于重复事件的执行(不断调动dispatcher),as3不是每次创建一个myEvent事件对象,而是克隆原对象,使用的是myEvent.clone(),而且是自动调用的。在API手册中有如下描述:

    clone()返回一个新的 Event 对象,它是 Event 对象的原始实例的副本。通常您不需要调用 clone();当您重新调度事件,即调用 dispatchEvent(event)(从正在处理 event 的处理函数)时,EventDispatcher 类会自动调用它。

    新的 Event 对象包括原始对象的所有属性。

    当您创建自己的自定义 Event 类时,必须覆盖继承的 Event.clone() 方法,以复制自定义类的属性。如果您未设置在事件子类中添加的所有属性,则当侦听器处理重新调度的事件时,这些属性将不会有正确的值。


    一般来说,自定义自己的事件都必须覆盖原Event类的clone方法,因为这样你才能在克隆方法重新传递自定义属性,这非常重要!

    class PingEvent extends Event {
    var URL:String;

    public override function clone():Event {
    return new PingEvent(type, bubbles, cancelable, URL);
    }
    }

    不然自定义属性值将不会改变!
  • 相关阅读:
    多属性量化决策模型
    对称加密与非对称加密
    子网掩码
    网络安全
    万维网WWW、电子邮件email与文件传输FTP
    DHCP协议
    DNS协议
    ARP协议与RARP协议
    springboot WebSocket的使用
    Java调用Python的两种方式
  • 原文地址:https://www.cnblogs.com/sumsung753/p/3821504.html
Copyright © 2020-2023  润新知