PDA

Просмотр полной версии : package keyword и null warning (два вопроса)


Den0k
28.01.2006, 22:46
К хорошему быстро привыкаешь, например к тому что если в гугл ввести какой-нибудь keyword или что-то ещё то он тебе выдаст десятки ссылок на туторы по использованию этого класса понятные даже детям включительно.

К AS3 из-за отсутствия документации это пока не относиться.
Вопрос раз:

Есть такая структура:



package
{
import // всё что надо

public class Name extends MovieClip
{
public function Name()
{
private var mysocket:Socket = new Socket();
mysocket.addEventListener(EventType.CONNECT, onConnect);
}
private function onConnect(event:Event)
{
//
}
}
}




тут мне интересно что делает ключевое слово package , для чего и как работает?



В советах по ас3 написано что classes are now organized into packages

ну это и так видно по flash.util package например.

А что в данном случае делает слово package ? После него ведь нет ничего.

Если его убрать то выдаёт error The target file does not have an externally visible definition.

В поисках описания стандартных ошибок нарвался на предложение самому и написать (http://labs.macromedia.com/wiki/index.php?title=As:compiler_errors&action=edit)его:eek:

You can find a list of some of the ActionScript 3.0 errors, and what they mean here (http://labs.macromedia.com/wiki/index.php?title=As:compiler_errors&action=edit).

И ещё - Package keyword. If you don't know what packages are, don't worry. You'll learn to love them once you start making bigger Flash programs / class hierarchies.


But I can’t stop worrying :)
Подкиньте ссылку…


Вопрос два:

что такое warning null ?

проявилось напротив строки private function onConnect(event:Event)


И ещё скорее не вопрос а констатация факта:

«автоматически» выполняется код в public function (а обязательно public?) с именем совпадающим с именем класса.

то есть не надо ничего вроде if __name__ == '__main__':


Спасибо!:)

silin
28.01.2006, 23:33
первый вопрос имхо, флуд
насчет второго: тож интересно
попробуй private function onXConnect(event:Event): варнинг исчезает..
т.е. подозрение, что этот 'null' выдается на совпадающие с 'внутренними' именами

Den0k
28.01.2006, 23:59
>>> совпадающие с 'внутренними' именами
да исчезает, вроде так и есть.

>>> первый вопрос имхо, флуд

поясни почему, плиз.
в первом вопросе я просто спрашивал ссылку по теме package

silin
29.01.2006, 00:07
>>поясни почему, плиз
да не ясно, в чем предмет беспокойства, вроде нет причин..
You'll learn to love them once you start making bigger Flash programs

Antares
29.01.2006, 00:07
Что такое package ( namespace для детей Майкрософта ) не знаем, а уже лезем в АС3...

Пакеты -- средство разрешения коллизий классов, проще говоря, если Силин сделает некий класс Utils и я сделаю класс с тем же названием, как компилятор поймет, какой нужен, если они оба будут в Classpath?
Пакеты принято называть развернутым именем своего домена + смысловое имя (если нужно), т.к. доменные имена уникальны. Например: org.dembicki, com.novemberain.display и пр.


«автоматически» выполняется код в public function (а обязательно public?) с именем совпадающим с именем класса

Что-то у меня подозрения, что про конструктор тоже ничего не знаем?

Den0k
29.01.2006, 00:39
Во-первых, спасибо за пояснение.
Во-вторых я (слава богу) не дитя M$. :)

>>>а уже лезем в АС3...
Antares, мне хочется думать что это ирония а не сарказм. Просто неприятно читать дискуссию когда один из участников выступает с позиции превосходства.

оффтопик: я понимаю что нововведения АС3 дают повод для того чтобы отправить лесом :) многих людей далёких от программинга, но я позволю себе предположить не тех кто учиться, правда?

Если хочешь помочь напиши что ты считаешь must know by heart перед тем как лезть в АС3. Хотя, имхо если есть желание всё можно выучить и с "нуля".

Antares
29.01.2006, 01:05
Colin Moock "Essential AS2" -- это минимум. Я это на каждом углу говорю на этом форуме -- всем по, никто не читает на английском. По-хорошему туда же надо добавить GoF Эйриха Гаммы. Тогда для тебя в структуре АС3 не будет секретов. А уж разобраться, какая часть что делает, понимая структуру, куда проще.

Найдешь способ со мной связаться -- выдам некий файлик.