|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.10.2012, 19:47 | #1 |
Участник клуба
Регистрация: 04.04.2010
Сообщений: 1,554
|
альтернатива множественному наследованию
К примеру мне нужно наделить ряд совершенно разных классов, с совершенно различными предками, общим функционалом. Пускай это будет функционал с помощью которого классы могут посылать сообщения о своей работе и подписываться на сообщения других классов. В с++ можно было бы просто использовать множественное наследование классов, и те классы, которым данный функционал требуется, унаследовать от какого-нибудь ReportSender, в котором и собрать данные методы. А соответственно те классы, которым это не нужно, не наследовать от него.
Как это можно реализовать в С#? Можно сделать ReportSender базовым классом для нужных классов, но возникнут например проблемы с классами у которых уже есть предок, да ещё и какой-нибудь библиотечный. Можно заменить отношения наследования на отношение агрегации, и соответственно наследовать нужным классам интерфейс IReporter { ReportSender Reports{get;set;} } Уже получше, но это тоже не очень, т.к. придётся это ещё и ручками в каждом случае инициализировать. Как бы эту задачу удобнее решить. Может зря нас лишили множественного наследования? |
10.10.2012, 10:08 | #2 | |
Форумчанин
Регистрация: 17.12.2008
Сообщений: 250
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по множественному наследованию классов с++ | GartesK | Общие вопросы C/C++ | 7 | 14.11.2011 22:00 |
задача по наследованию в С++ | Евгений1221 | Помощь студентам | 1 | 12.05.2011 01:13 |
Альтернатива Sleep; | mrbadge | Общие вопросы Delphi | 16 | 02.05.2011 17:33 |
Вопрос по наследованию | katbka | Помощь студентам | 0 | 13.05.2010 18:31 |