| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > реализация парадигмы ООП |
| Автор: Gunslinger 25.12.2007, 16:08 |
| Про наследование говорю. Цель понятна, но в с++ наследование, оказалось, бывает разное: множественное, виртуальное, интерфейсов, реализации... может и еще какое есть. В голове каша. Помогите структурировать: вид наследования причины появления простенький пример (хотя бы на словах). Заранее спасибо |
| Автор: Earnest 25.12.2007, 16:39 |
| Ты еще забыл наследование "обычное" А еще наследование бывает открытое, закрытое и защищенное, это тебе для полноты каши. Наследование интерфейсов и наследование реализации - вещи действительно концептуальные (смысл следует из названия). Наследование множественное и виртуальное - сугубо технические аспекты, так сказать, детали реализации. Ну, удобно иногда бывает. Закрытое, защищенное, открытое - тоже детали реализации и способ инкапсюляции. С точки зрения языка - все пишется (и реализуется) примерно одинаково (кроме виртуального, там надо слово virtual добавлять Наследование интерфейса - это в чистом виде "is a" - т.е. производный класс может подставляться вместо базового. При реализации обычно используется открытое наследование (т.е. public). Наследование реализации - это просто заимствование кода (не в смысле копи-паст, а использование уже написанного). Реализуется по разному - как закрытое\защищенное наследование, как embedded-объекты с делегированием вызовов и т.д. Ты бы поконкретнее спросил, очень уж обширная тема. |
| Автор: Alek86 25.12.2007, 17:04 |
| Gunslinger, лучше сначала тебе обычное наследование осилить. Зачем оно нужно, чем от включения отличается... про остальные пока забудь имхо, так легче |
| Автор: Earnest 25.12.2007, 17:27 |
| Во, и Alek86 про "обычное" напомнил Кстати, Gunslinger, когда говорят о наследовании в контексте ООП, то имеют в виду прежде всего наследование интерфейса. Все остальное - внутренние кишки C++. Это как "класс" в C++ и "класс окна" в Виндоус: слово одно, а вещи означает совсем разные. |