Запрашивается ли () для вызова конструктора Flex ActionScript?

В Flex, ActionScript, то новый объект может быть создан с помощью конструктора без параметров с или без (). Пример:

var array:ArrayCollection = new ArrayCollection()

или

var array:ArrayCollection = new ArrayCollection

есть ли разница между двумя? Одно предпочтительнее другого?

4 ответов


Я думаю, что нет разницы функционально, но мне нравится иметь () только из-за Конвенции.


интересный момент. До вашего вопроса я никогда даже не пытался передать класс оператору " new " без закрытия, чтобы указать, что я вызываю конструктор. Я просто попробовал это без, и это работает, но мне было бы неудобно делать это таким образом.


Я не знаю никаких различий между этими двумя способами создания экземпляра объекта, однако Конвенция будет склоняться к использованию (). Подумайте о том, когда вы создаете экземпляр объекта, который требует параметров, отправленных в конструктор var e:Event = new Event('EventType');, наличие круглых скобок, даже если они оставлены пустыми, говорит вам, что ничего не передается.


Если вы не собираетесь ничего делать с конструктором, то вам даже не нужно заходить так далеко:

var array:ArrayCollection;

объявит вашу переменную просто отлично.

вероятно, нет никакой реальной разницы, поскольку конструктор, вероятно, является магическим методом, который будет автоматически вызываться при вызове класса.