Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 30.05.2014, 19:50
DDDBest вне форума Посмотреть профиль Отправить личное сообщение для DDDBest Найти все сообщения от DDDBest
  № 1  
Ответить с цитированием
DDDBest
 
Аватар для DDDBest

Регистрация: May 2014
Сообщений: 9
По умолчанию что в переменной

Здравствуйте, я когда то занимался делфи, писал там что то, все понятненько мне было вродь, сейчас заморочился экшнскриптом, читаю Колина Мука, прочитал что там доходчиво все, так вот не понимаю многого, постарел видать, начну с самого начала:

файл x1.as

Код AS3:
package x {
	public class x1 {
		public function x1() {
			var y = new y1;
		}
	}
}
файл y1.as

Код AS3:
package x {
	internal class y1 {
	}
}
вот блин, создание объекта класса y1 - new y1, присваивание переменной "y" объекта класса y1 - var y = new y1;
Вот не пойму, чем стала переменная игрек? Если к примеру, как в делфях там было что то типо
string var y = "woohu";
Label1Text = y; тобишь отображаем значение переменной y на label1. Так вот, если подобным примером в экшнскрипте отобразить значение переменной y на экран в формате string (строки), то что это будет? Вот не пойму во что превратилась y при var y = new y1;
Спасибо!


Последний раз редактировалось Wolsh; 30.05.2014 в 20:08. Причина: Код оформляем тегами [as3] [/as3]
Старый 30.05.2014, 20:14
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 2  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Переменная "стала" экземпляром класса у1.
На самом деле переменная хранит ссылку(!) на экземпляр.
Если бы Вы присвоили ей строковое значение, она хранила бы значение (строки и числа передаются по значению, а не по ссылке).
Если Вы попытаетесь "вывести на экран в формате string (строки)" экземпляр класса у1, будет автоматически вызван метод toString() класса у1 (унаследованный от Object), который вернет строковое представление экземпляра (скорее всего "[Object y1]").
__________________
Reality.getBounds(this);

Старый 30.05.2014, 20:15
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 3  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Ну так сделайте так
Код AS3:
trace(y);
И в консоль выведет, что это [Object y1]
Так как переменная является экземпляром класса y1. AS3 типизированный язык, и каждая переменная имеет свой тип данных

Добавлено через 49 секунд
Wolsh, опередил )
__________________
Ко мне можно и нужно обращаться на ты)

Старый 30.05.2014, 23:48
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 4  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Код AS3:
var y:y1 = new y1();
Код AS3:
var название_переменной:Тип = new Класс();
Если будете писать так, то точно будете знать, что переменная имеет конкретный тип.

Старый 30.05.2014, 23:53
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 5  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Тогда уж правильнее писать
Код AS3:
var название_переменной:Тип = new Тип();
__________________
Ко мне можно и нужно обращаться на ты)

Старый 30.05.2014, 23:57
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 6  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
А если так?
Код AS3:
var vehicle:Vehicle = new Tank()

Старый 31.05.2014, 00:09
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
А если так?
Код AS3:
var vehicle:Vehicle = new Tank()
Не так, а так
Цитата:
var vehicle:IVehicle = new Tank()
Тогда так
__________________
Марк Tween

Старый 31.05.2014, 00:22
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 8  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
Тогда так
Это как-то изменило мой ответ?

Старый 31.05.2014, 00:28
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 9  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Кейси, Типом может быть и Интерфейс, который, как известно, не может породить экземпляров))

во, in4core уже продемонстрировал.
И нет, не изменило)
__________________
Reality.getBounds(this);

Старый 31.05.2014, 03:33
DDDBest вне форума Посмотреть профиль Отправить личное сообщение для DDDBest Найти все сообщения от DDDBest
  № 10  
Ответить с цитированием
DDDBest
 
Аватар для DDDBest

Регистрация: May 2014
Сообщений: 9
Спасибо! А вот:
Код AS3:
trace(y);
это где прописать? А вот:
Цитата:
И в консоль выведет, что это [Object y1]
В какую консоль?=)
У меня FlashDevelop
И вот что не понятно еще, в книге описан чисто код, без компиляции, в делфи там было сразу форма главная, там прописано что нужно уже, и ты с нее начинаешь, в FlashDevelop же чтоб откомпилировать нужно проэкт новый, а там main.as, и никуда без него, как мне компилировать те простенькие примеры из книги, которые там приводятся? Основным файлом с точкой входа какой то=) с основным классом брать main.as а не тот файл, который автор советует создавать в книге?

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:32.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 23:32.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.