ActionScript 3.0: совместное использование атрибутов в классах - PullRequest
0 голосов
/ 23 марта 2012

Сможет ли кто-нибудь помочь мне с этим исследованием для моего ActionScript? Меня попросили исследовать отношения между классами, но мне было трудно их понять.

В моем коде класс A создает экземпляр класса B внутри него, сохраняя экземпляр B в переменной класса A, чтобы класс A мог получить доступ к элементам данных (атрибутам) и методам из класса B.

Как я могу создать ссылку в B, чтобы она также могла получить доступ к информации о классе A?

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Добавить аргумент в конструктор класса B:

public function B(a:A)

И соответствующее свойство:

private var _a:A;

B должно выглядеть примерно так:

public class B
{
    private var _a:A;

    public function B(a:A)
    {
        _a = a;
    }
}

И когда вы создаете экземпляр B в A, отправьте ссылку на A вместе с ней:

var b:B = new B(this);

В B вы сможете использовать видимых членов A через _a.

0 голосов
/ 23 марта 2012

ты снова! Тот же вопрос !! «чтобы класс A мог получить доступ к элементам данных (атрибутам) и методам из класса B.»

Если класс B расширяет класс A, тогда класс A может получить доступ к открытым методам и атрибутам B, используя ключевое слово «super». Например, если класс B имеет функцию «myFunc», класс A может получить к нему доступ с помощью super.myFunc ();

Читать это: http://www.emanueleferonato.com/2009/08/10/understanding-as3-super-statement/

...