![]() |
|
||||||||||
|
|
|
|||||
|
Но при таком вызове пропадает типизация, может стоит так:
public interface IStaticClass { function call():void; } public class SomeClass { public static function someStaticFunction():void { //... } } public class SomeStaticClassProxy implements IStaticClass { public function call():void { SomeStaticClass.someStaticFunction(); } } function thatCallStatic(value:IStaticClass):void { value.call(); } thatCallStatic(new SomeStaticClassProxy()); Цитата:
Вообще по идее статические функции для это не предназначены.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Inet_PC, мне однажды такое понадобилось
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 212
|
В моем случае, в классах содержаться наборы параметров, соответственно назначая переменной ссылку на класс мы получаем доступ через эту переменную к параметрам. Собственно, можно было бы поместить в переменную экземпляр класса, но зачем плодить объекты?
Или например вот в этом видео по патерну Стратегия, мужик использует в качестве ссылок на классы стратегий экземпляры классов, хотя по идее это избыточное дублирование объектов. Последний раз редактировалось PlutDem; 09.06.2012 в 21:17. |
|
|||||
|
Но ведь в статической функции, вы не сможете обратиться к не статическим свойствам класса. Ведь в статической функции любой доступ через this, не разрешается.
|
|
|||||
|
Цитата:
Цитата:
Цитата:
Цитата:
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 09.06.2012 в 22:08. |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
Большой проект, много разработчиков, динамическая подгрузка непойми-каких классов, в некоторых есть статичный init, который надо бы вызвать. В некоторых нет. Т. к. никто не знает, когда функция есть, когда нет, её пытаются вызывать всегда
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 212
|
Inet_PC
Пример из видео: В переменную moveBehavior помещается экземпляр стратегии Walk. При множестве викингов со стратегией Walk будут излишне дублироваться экземпляры этого класса стратегии. Этого можно избежать если назначать moveBehavior не экземпляр, а ссылку на класс Стратегии. А там и нету не статических свойств. Последний раз редактировалось PlutDem; 09.06.2012 в 22:25. |
|
|||||
|
Цитата:
Цитата:
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 09.06.2012 в 22:31. |
|
|||||
|
Цитата:
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Jun 2007
Сообщений: 374
|
>Ну я так понимаю, что она вызывалась перед тем как использовать класс? или без разницы лишь бы хоть раз была вызвана? Или с экземплярами класса работали, а потом в нужный момент вызывался init и потом опять работали?
Если не вызвать эту функцию, то возникали какие-то неведомые внутренние ошибки. Зачем и почему, никто не знает, но её надо было вызвать перед использованием ![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:18. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|