В конструкторе AS3 нет метода с таким же именем, как у класса - PullRequest
0 голосов
/ 16 августа 2011

Я читал Шаблон проектирования абстрактной фабрики ActionScript 3.0: несколько продуктов и фабрик , и у меня есть следующее,

private var busFactory:AbFactory;
busFactory=new BusinessFactory();

И в BusinessFactory.as , и в AbFactory.as отсутствует метод с таким же именем , как у класс , только createProductA и createProductB. Итак, как busFactory может вызвать конструктор с new BusinessFactory?

Ответы [ 2 ]

4 голосов
/ 16 августа 2011

Конструкторы по умолчанию для AbFactory и BusinessFactory (которые показаны в статье наследуются от AbFactory) создаются компилятором.

Если вы начнете передавать аргументы конструктору BusinessFactory(), компилятор будет жаловаться на неожиданное количество аргументов. Вот когда вам нужно написать конструктор самостоятельно. Но если ничего не передать, можно использовать значение по умолчанию.

0 голосов
/ 16 августа 2011

Кроме того, причина, по которой вы можете установить AbFactory в BusinessFactory, означает, что они имеют одинаковое наследие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...