Canyon在ActionScript中解释了下面编写的代码

时间:2009-08-05 14:43:25

标签: flex actionscript

package samples.flexstore
{

import flash.events.Event;

public class ProductThumbEvent extends Event
{
    public static const DETAILS:String = "details";
    public static const BROWSE:String = "browse";

    public var product:Product;

    public function ProductThumbEvent(type:String, product:Product)
    {
        super(type);
        this.product = product;
    }

    override public function clone():Event
    {
        return new ProductThumbEvent(type, product);
    }
}

}

我需要了解这些事情以便更好地理解。

什么是public static const DETAILS:String =“details”;

为什么使用static关键字。 为什么使用const以及它的用途。 为什么DETAILS:String有值详细信息。

public var product:Product;

    public function ProductThumbEvent(type:String, product:Product)
    {
        super(type);
        this.product = product;
    }

这个构造函数有什么作用? 超级(类型)做什么? this.product =产品意味着什么?

override public function clone():Event
    {
        return new ProductThumbEvent(type, product);
    }

他们试图返回的是为什么他们不能在之前的构造函数中返回而不是创建上述方法的克隆。

感谢。

1 个答案:

答案 0 :(得分:1)

你在问一些非常基本的问题。我建议你通过一些基础编程课程来帮助你入门,但这里有你所问的答案。

public static const DETAILS:String =“details”;

这意味着声明一个名为DETAILS的不可变的字符串,可以在我的类外部访问,而不需要先实例化实例。

静态意味着可以在没有创建类的实例的情况下访问该成员。 所以ProductThumbEvent.DETAILS是你在代码中访问静态成员DETAILS的方式。

const表示分配给DETAILS的值“details”是常量且无法更改。

super(type)表示调用基类(Events)构造函数并将类型传递给它。

this.product = product表示将传递给product参数的值并将其分配给公共成员Product。

clone方法的目的是返回对象的新实例。如果他们选择(假设他们在范围内仍然有正确的参数数据),就可以轻松地再次调用相同的构造函数,但原作者决定实现此方法来完成任务。