Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_08

.pdf
Скачиваний:
6
Добавлен:
20.04.2015
Размер:
122.08 Кб
Скачать

Рекомендации

делайте все данные private, обеспечивая доступ к ним через методы

используйте protected для методов реализации, которые могут использоваться в производных классах

31.03.2012

cppNewb.ru

41

Полиморфизм

полиморфный – “имеющий много форм”

взаимозаменяемость объектов с одинаковым интерфейсом

использование одного имени для разных задач (реализаций)

31.03.2012

cppNewb.ru

42

Виды наследования

одиночное наследование

один непосредственный базовый класс

множественное наследование

более одного непосредственного базового класса

31.03.2012

cppNewb.ru

43

Множественное наследование (синтаксис)

в списке базовых классов через запятую указываются все базовые классы (непосредственные)

пример:

class Derived

: public Base1

, public Base2

{

...

31.03.2012

cppNewb.ru

44

Проблемы множественного наследования

неоднозначности имен (членов и методов)

повторяющиеся базовые классы

(ромбовидная схема наследования)

размещение данных в памяти

порядок и количество вызовов методов

31.03.2012

cppNewb.ru

45

Использование множественного наследования

избегайте без наличия весомой причины и полного понимания работы механизмов языка

используйте для наследования нескольких интерфейсов

31.03.2012

cppNewb.ru

46