Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.10.2012, 19:47   #1
the_deer_one
Участник клуба
 
Аватар для the_deer_one
 
Регистрация: 04.04.2010
Сообщений: 1,554
По умолчанию альтернатива множественному наследованию

К примеру мне нужно наделить ряд совершенно разных классов, с совершенно различными предками, общим функционалом. Пускай это будет функционал с помощью которого классы могут посылать сообщения о своей работе и подписываться на сообщения других классов. В с++ можно было бы просто использовать множественное наследование классов, и те классы, которым данный функционал требуется, унаследовать от какого-нибудь ReportSender, в котором и собрать данные методы. А соответственно те классы, которым это не нужно, не наследовать от него.

Как это можно реализовать в С#? Можно сделать ReportSender базовым классом для нужных классов, но возникнут например проблемы с классами у которых уже есть предок, да ещё и какой-нибудь библиотечный.

Можно заменить отношения наследования на отношение агрегации, и соответственно наследовать нужным классам интерфейс IReporter
{
ReportSender Reports{get;set;}
}

Уже получше, но это тоже не очень, т.к. придётся это ещё и ручками в каждом случае инициализировать.


Как бы эту задачу удобнее решить.

Может зря нас лишили множественного наследования?
the_deer_one вне форума Ответить с цитированием
Старый 10.10.2012, 10:08   #2
Reskov
Форумчанин
 
Аватар для Reskov
 
Регистрация: 17.12.2008
Сообщений: 250
По умолчанию

Цитата:
Может зря нас лишили множественного наследования?
не зря) можно композицией заменить...
Reskov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по множественному наследованию классов с++ 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