![]() |
множественное наследование
может знает кто вариант без "include" ?
|
Причем тут include?
|
мне пока известен только такой способ http://www.darronschall.com/weblog/archives/000245.cfm
|
Где ж тут множественное наследование? ))
В as3 как и в java можно наследоваться только от одного класса, зато реализовывать можно несколько интерфейсов. |
ну не в чистом виде естественно но по крайней мере таким образом можно сэмитировать это: class ASprite extends Sprite extends A и в тоже время class AMovieClip extends MovieClip extends A
|
да я сообразил о чем речь, просто не вижу в этом смысла какого-либо))
|
Вообще говоря подобных ситуаций крайне желательно избегать. Но если таки случилось, то include в руки.
|
Цитата:
|
Цитата:
|
Народ учите ООП.
|
Цитата:
Sprite | MySprite | |-------- Файл с общими методами | MyMovieCilp | MovieCilp Иначе пришлось бы два одинаковых промежуточных класса создавать |
include напоминает действие в QBasic - goto m1, это когда можно было скакнуть в любую строку кода :)
|
а причем тут множественное наследование?
я про пример? если в примере обойтись без инклуда и интерфейса, а просто написать все эти методы сразу в классе - будет тоже самое. тоесть этот пример показывает как можно вынести многократно используемый код в отдельный файл. Sprite | MySprite | |-------- Файл с общими методами | MyMovieCilp | MovieCilp а это вообще нереально. MovieCilp наследуется от Sprite. и никаких MySprite между ними воткнуть не получится. да и всем извращенцам, типа меня, не понимающим принципов ООП (самокритика) ближе и родней способ использованный в mx.events.EventDispatcher уже многие годы назад. |
Цитата:
Смысл иногда есть.... Имхо interfacы в руки... |
только когда в языке предусмотрено множественное наследование, есть возможность определять, что и как будет наследовать сосед Вася от "бухарик" и "дэбил".
а вот так? есть у нас две ципочки наследования A B | | A1 B1 | | A2 B2 и как с помощью данного примера получить С от А2+B2 ??? |
Interface. Они же абстрактные классы. Но напрямую не получится.
|
Есть возможности языка и выстраивать структуру проекта исходя из возможностей других языков довольно странно.
Ну раз уж вы дошли до жизни такой, то я бы рекомендовал использовать композицию. В схеме "Вася бухарик дебил" это будет выглядеть как класс Вася, содержащий два экземпляра классов "бухарик" и "дебил". С соответствующими интерфейсами. По дефолту проставлять экземпляры NullБухарик NullДебил. |
2 Iv
а с мувиками это прокатит? 2 ulik пример можно? |
Stone, если ты конкретизируешь задачу, то и ответ получишь более конкретный.
|
2 Iv
поторопился. щас не получается даже вопрос задать. подучусь - обязательно спрошу. |
Цитата:
Множественное наследование же не так просто в джаве не ввели, это опасная штука. |
Опасная? Хм... На этот счет не могу согласиться. Неудобная (для меня) - это да. А вот опасности я не вижу.
А вот include - эт да. Лучше абстрактные классы использовать. |
хм, я не вчитывался в дискуссию, но исходя из вопроса, думаю вам поможет паттерн "Адаптер" (wrapper)... но я могу ошибаться...
|
| Часовой пояс GMT +4, время: 22:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.