Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Что означает эта конструкция? (http://www.flasher.ru/forum/showthread.php?t=103930)

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.p...oop_und_flash2

Со всем согласен, раньше ловил себя на 1 пункте (если не вспоминать о "совсем раньше" :) ).

CrazyFlasher 15.11.2007 15:47

ух ты =) я не попал ни под один пункт :)

P.S. насчёт сеттеров согласен...независимость классов теряется если их всюду пичкать

CorC 16.11.2007 10:22

А что если я попал под 5, то это тоже плохо? не понимаю почему


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

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