ActionScript 3.0 - Почему пользовательские классы могут расширяться только из одного суперкласса? - PullRequest
1 голос
/ 09 сентября 2011

Я понимаю, что одно или несколько объявлений Interface могут быть реализованы в пользовательском классе, чтобы исправить невозможность расширения из более чем одного суперкласса, за счет необходимости фактически реализовывать требуемые функции интерфейса, конечно,но почему нельзя расширять несколько классов?

это проблема фундаментального дизайна ООП?возможно, это проблема производительности?если нет другой реальной причины, кроме следования стандарту ECMAScript, можем ли мы иметь эту возможность в будущих версиях ActionScript?

мысли?

Ответы [ 3 ]

8 голосов
/ 09 сентября 2011

это вопрос, касающийся фундаментального дизайна ООП?

Да.Проблема diamond является одной из наиболее известных и цитируемых проблем с множественным наследованием.

3 голосов
/ 09 сентября 2011

Я рекомендовал вам часто использовать композицию вместо наследования.Вы можете прочитать простой пример здесь: http://www.javaworld.com/javaworld/jw-11-1998/jw-11-techniques.html

Это одна из многих хороших практических рекомендаций по ООП.

1 голос
/ 09 сентября 2011

@ BoltClock имеет на это право, но если вам действительно действительно нужно, вы можете взломать его с помощью оператора #include: http://flex.sys -con.com / node / 316359 (или Mixin in flex я думаю)

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