Показать сообщение отдельно
Старый 10.08.2014, 23:23
Моше Дауге вне форума Посмотреть профиль Отправить личное сообщение для Моше Дауге Найти все сообщения от Моше Дауге
  № 6  
Ответить с цитированием
Моше Дауге

Регистрация: Aug 2014
Сообщений: 5
Цитата:
Сообщение от 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;


Последний раз редактировалось Моше Дауге; 10.08.2014 в 23:42.