Canyone объясняет код, написанный ниже в ActionScript - PullRequest
0 голосов
/ 05 августа 2009
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 ДЕТАЛИ: String = "details";

Почему используется статическое ключевое слово. Почему const используется и для чего он нужен. Почему DETAILS: String имеет подробные значения.

public var product:Product;

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

Что делает этот конструктор? Что делает супер (тип)? что означает this.product = product?

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

Что они пытаются вернуть, почему они не могут вернуться в предыдущем конструкторе вместо создания клона вышеуказанного метода.

Спасибо.

1 Ответ

1 голос
/ 05 августа 2009

Вы задаете довольно простые вопросы. Я бы порекомендовал вам пройти некоторые базовые курсы программирования, но вот ответы на ваши вопросы.

public static const DETAILS: String = "details";

Это означает объявить неизменяемую строку с именем DETAILS, к которой можно получить доступ за пределами моего класса, без предварительного создания экземпляра экземпляра.

Статический означает, что к члену можно получить доступ без создания экземпляра класса. поэтому ProductThumbEvent.DETAILS - это способ доступа к статическим элементам DETAILS в вашем коде.

const говорит, что значение "details", присвоенное DETAILS, является постоянным и не может быть изменено.

super (type) говорит, что нужно вызвать конструктор базового класса (Events) и передать ему тип.

this.product = product говорит, что взять значение, переданное в параметр продукта, и присвоить его общедоступному члену Product.

Цель метода clone - вернуть новый экземпляр объекта. Можно было бы так же легко снова вызвать тот же конструктор, если бы они выбрали (при условии, что у них все еще есть надлежащие данные аргумента в области видимости), но оригинальный автор решил реализовать этот метод для выполнения задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...