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

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

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

Регистрация: Jul 2009
Сообщений: 101
По умолчанию просто вызов класса

Почему АS2 работает:
Код AS1/AS2:
1 frame: aa = new test();
 
test.as:
class test {
    	function test() {trace("Hello World");} 
}
в AS3 нет:
Код AS3:
frame1:  var aa = new test;
 
test.as:
package {
          class test {
                 function test() {trace("Hello World");}
          }
}
пишет call to undefined method test, а я понимаю тут вообще методов нет и быть недолжно. Для корректности можно добавить public, extends, :Object+import и т.п. но сути это не меняло.

Старый 31.07.2009, 17:31
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
в AS3 и класс и конструктор д.б. public
Код AS3:
package {
	public class test 
	{
		public function test() 
		{ 
			trace("Hello World"); 
		}
	}
}
к делу не относится, но принято писать () даже если нет аргументов - new test()
классы принято называть с прописной - Test

Старый 31.07.2009, 17:35
uchenik12345 вне форума Посмотреть профиль Отправить личное сообщение для uchenik12345 Найти все сообщения от uchenik12345
  № 3  
Ответить с цитированием
uchenik12345

Регистрация: Jul 2009
Сообщений: 101
нет, с public работает, хотя читал что класс дефолту все public...
хорошо, давайте без кода во фрейме, с document class: test добавив импорт:

Код AS3:
package {
	import flash.display.MovieClip;	
	public class test extends MovieClip {
		public function test() {trace('aaaa');}
	}
}
работает, но непонятным остается зачем классу указывать что он public?

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

Регистрация: Jun 2009
Сообщений: 15
Цитата:
Сообщение от uchenik12345 Посмотреть сообщение
работает, но непонятным остается зачем классу указывать что он public?
Может я ошибусь, но по-моему, если это главный класс, то требуется чтобы он обязательно был public. (из книжки Мука)

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

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
Цитата:
нет, с public работает, хотя читал что класс дефолту все public...
по дефолту класс internal

Старый 31.07.2009, 17:52
uchenik12345 вне форума Посмотреть профиль Отправить личное сообщение для uchenik12345 Найти все сообщения от uchenik12345
  № 6  
Ответить с цитированием
uchenik12345

Регистрация: Jul 2009
Сообщений: 101
мне непонятна сама идея private/public.
а писать лишние слова без понимания, а просто потому что так принятно как то неловко.

Старый 31.07.2009, 18:01
Dimax4d вне форума Посмотреть профиль Отправить личное сообщение для Dimax4d Найти все сообщения от Dimax4d
  № 7  
Ответить с цитированием
Dimax4d
 
Аватар для Dimax4d

Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
есть пакет. он содержит много классов. у каждого класса есть атрибут - public либо internal. public означет что этот класс доступен из других пакетов, internal означает что класс доступен только внутри своего пакета.

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

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

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


 


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


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