Вызов переопределенного метода в Dojo - PullRequest
2 голосов
/ 29 мая 2010

В dojo нельзя вызывать переопределенный метод суперкласса вне того же метода в производном классе (для которого есть this.inherited (), кроме этого можно вызвать с помощью class_name.function_name.apply). Эта функция больше не существует из-за какого-то рефакторинга, и парни из додзё не собираются ее возвращать, потому что они не уверены в достаточно веских аргументах для этого. Пожалуйста, прочитайте эту тему для подробностей. Разве нет достаточно хорошего случая для этой функциональности? Почему или почему нет?

1 Ответ

0 голосов
/ 31 мая 2010

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

Рассмотрите возможность реализации шаблона состояния с использованием объектов javascript. Вы можете просто сделать это, поддерживая переменные-члены в текущем объекте и все функции, зависящие от состояния, в прототипе. Просто продолжайте изменять прототип, чтобы перейти в другое состояние.

Теперь, когда вы хотите объединить шаблон состояния с шаблоном метода шаблона , вы можете просто вызвать функции состояния как super () (например, как в python). Это важно, потому что функции состояния могут быть хуками или абстрактными функциями в классе метода шаблона. Если они являются первыми, то вы сможете вызывать версии этих методов для суперкласса, независимо от того, какой суперкласс является текущим суперклассом.

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