Цитата:
Сообщение от Void
Спасибо что ответили, а как сделать так:
Есть два класса в одном пакете. В одном классе создается текстовое поле с именем txt, как к этому полю обратиться из 2-го класса?
|
Цитата:
Сообщение от sospamom
 Код AS3:
package somePackage
{
import flash.display.Sprite;
public class Main extends Sprite
{
public function Main():void
{
var b:B = new B();
trace(b.txt);
}
}
}
package somePackage
{
import flash.text.TextField;
public class B
{
public var txt:TextField;
public function B()
{
}
}
}
|
Вы определили переменную экземпляра, а не класса.
Добавлено через 1 минуту
Цитата:
Сообщение от Void
Спасибо что ответили, а как сделать так:
Есть два класса в одном пакете. В одном классе создается текстовое поле с именем txt, как к этому полю обратиться из 2-го класса?
|

Код AS3:
var a:TextField = new TextField();
Вы определили переменную экземпляра, а значит, что к этой переменной можно обращаться только через экземпляр этого класса и через его потомков (если не считать ссылок).
Вам нужно определить статическую переменную — переменную класса, к которой можно обращаться только через класс, где определенна эта статическая переменная.
Чтобы определить статическую переменную Вам следует написать перед словом var слово static, и так как Вы хотите обращаться к статической переменной только в том пакете,
где она находится, то Вам следует написать перед словом static модификатор управления доступом internal — обращение внутри класса, в классах, находящихся в том же пакете, что и этот, и через потомков класса.

Код AS3:
internal static var a:TextField = new TextField();
Чтобы обратиться к статической переменной Вам следует написать перед идентификатором статической переменной (её названием) название класса, в котором она определена.

Код AS3:
Test1.a;