Запрашивается ли () для вызова конструктора 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;
объявит вашу переменную просто отлично.
вероятно, нет никакой реальной разницы, поскольку конструктор, вероятно, является магическим методом, который будет автоматически вызываться при вызове класса.