Просмотр полной версии : Что означает эта конструкция?
Random SunFire
15.11.2007, 13:54
var mclListener:Object = new Object();
Сорри за тупой вопрос, но что это за конструкция такая. Очень сложно найти в хелпе что-то на запрос по ":"!
CrazyFlasher
15.11.2007, 13:56
var mclListener:Object; - то что после двоеточия определяет тип переменной
Mr. Fixit
15.11.2007, 14:03
создание переменной экземпляра класса Object с типом данных Object.
Random SunFire
15.11.2007, 14:06
А разве при создании переменной экземпляра класса Object типых данных не будет автоматически Object?
CrazyFlasher
15.11.2007, 14:32
var mclListener:Object; // декларируешь
mclListener = new Object(); //создаёшь
//или одной строчкой
var obj:Object = new Object();
хотя там полная каша с типизацией, если ты пишешь не на классах
screamge
15.11.2007, 14:55
Типизация не является обязаловкой в АС2, вы можете не типизировать хоть типизированый код во-первых облегчает и ускоряет разработку, во-вторых уберегает от человеческих ошибок (исключает возможность присвоения некорректного значение), в третьих считается хорошим тоном для программистов АС. При типизации, если вы пишите код в ИДЕ, появляются хинты соответствующих классов, если не в иде а в другом редакторе по умолчанию нетипизированый код будет выдавать ошибку.
При создании нового объекта он конечно будет относится к тому классу которым вы его объявили но:
var obj = new Object ();
var str:String = obj;
Не выдаст ошибки, когда:
var obj:Object = new Object ();
var str:String = obj;
Type mismatch in assignment statement: found Object where String is required.
хотя там полная каша с типизацией, если ты пишешь не на классах
В чём выражается?
CrazyFlasher
15.11.2007, 15:03
в том что не обязательная типизация =) в коде на классах, конечно, типизацию нельзя назвать мегастрогой, но она хотя бы есть (правда обмануть легко :))
screamge
15.11.2007, 15:13
Так в классах тоже можно не типизировать и переменые не выносить в приватные/публичные свойства, и геттерами/сеттерами не пользоваться, не знать что такое композиция и как пользоваться наследованием, закрывать глаза на отсутвие Void и писать функцию в функции...ещё много чегом можно и для неграммотного разницы никакой нет где писать, в классе или на 36 кадре 25 мувиклипа третьей сцены :)
Кстати я сеттерами очень редко пользуюсь :)
Чуть-чуть отойдём от темы если позволите,
http://riapriority.com/blogs/junik.php/2006/11/21/oop_und_flash2
Со всем согласен, раньше ловил себя на 1 пункте (если не вспоминать о "совсем раньше" :) ).
CrazyFlasher
15.11.2007, 15:47
ух ты =) я не попал ни под один пункт :)
P.S. насчёт сеттеров согласен...независимость классов теряется если их всюду пичкать
А что если я попал под 5, то это тоже плохо? не понимаю почему
screamge
16.11.2007, 10:34
Ты попал под событийную модель или под компоненты?
Под компоненты, лучше уж самому написать :)
screamge
16.11.2007, 11:11
Я расцениваю тему компонентов как плохой пример не использования событийной модели. Во времена флекса никто на эту тему ничего сказать не сможет :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.