Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> реализация парадигмы ООП 
:(
    Опции темы
Gunslinger
Дата 25.12.2007, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: 1
Всего: 3



Про наследование говорю. Цель понятна, но в с++ наследование, оказалось, бывает разное: множественное, виртуальное, интерфейсов, реализации... может и еще какое есть. В голове каша. Помогите структурировать: 
вид наследования 
причины появления
простенький пример (хотя бы на словах).

Заранее спасибоsmile
PM MAIL   Вверх
Earnest
Дата 25.12.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Ты еще забыл наследование "обычное" smile  (шучу).
А еще наследование бывает открытое, закрытое и защищенное, это тебе для полноты каши.

Наследование интерфейсов и наследование реализации - вещи действительно концептуальные (смысл следует из названия).

Наследование множественное и виртуальное - сугубо технические аспекты, так сказать, детали реализации. Ну, удобно иногда бывает.
Закрытое, защищенное, открытое - тоже детали реализации и способ инкапсюляции.
С точки зрения языка - все пишется (и реализуется) примерно одинаково (кроме виртуального, там надо слово virtual добавлять  smile ).

Наследование интерфейса - это в чистом виде "is a" - т.е. производный класс может подставляться вместо базового.
При реализации обычно используется открытое наследование (т.е. public).

Наследование реализации - это просто заимствование кода (не в смысле копи-паст, а использование уже написанного). Реализуется по разному - как закрытое\защищенное наследование, как embedded-объекты с делегированием вызовов и т.д.

Ты бы поконкретнее спросил, очень уж обширная тема.





--------------------
...
PM   Вверх
Alek86
Дата 25.12.2007, 17:04 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1299
Регистрация: 30.1.2007
Где: Киев

Репутация: 21
Всего: 25



Gunslinger, лучше сначала тебе обычное наследование осилить. Зачем оно нужно, чем от включения отличается...
про остальные пока забудь
имхо, так легче


--------------------
user posted image    user posted image
PM MAIL   Вверх
Earnest
Дата 25.12.2007, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 53
Всего: 183



Во, и Alek86 про "обычное" напомнил smile  smile  

Кстати, Gunslinger, когда говорят о наследовании в контексте ООП, то имеют в виду прежде всего наследование интерфейса.
Все остальное - внутренние кишки C++. Это как "класс" в C++ и "класс окна" в Виндоус: слово одно, а вещи означает совсем разные.


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.