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

07 наследование 1

.pdf
Скачиваний:
17
Добавлен:
27.03.2015
Размер:
331.96 Кб
Скачать

07 – 1

3.НАСЛЕДОВАНИЕ

3.1.Общие сведения

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

Класс-наследник

Базовый класс (БК)

Производный

Иерархия классов

Простое наследование

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

07 – 2

СВОЙСТВА БКИ ПК

1)Объемы ПК и БК

2)Специфичность ПК

3)Типы наследования:

открытое (public)

закрытое (private)

защищенное (protected)

4)Объект ПК (ОПК) Объект БК (ОБК) Объект БК (ОБК) Объект ПК (ОПК) Полиморфизм

07 – 3

5)Спецификатор доступа – protected Защищенные элементы

6)Доступ ПК к закрытым элементам БК

7)Доступ ПК к открытым и защищенным элементам БК

8)ПК не наследует друзей БК

9)Переопределение унаследованной ФЭ в ПК

10)Коммерческие библиотеки классов Пример: MFC (Microsoft Foundition Classes)

07 – 4

3.2. БК и ПК

Пример:

АО “прямоугольник”, “квадрат” и “трапеция” – экземпляры АО “четырехугольник”

АО

 

Класс

 

 

 

 

 

прямоугольник

 

Rectangle

ПК

 

 

 

 

четырехугольник

 

Quadrilateral

БК

 

 

 

 

07 – 5

ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ НАСЛЕДОВАНИЯ

Quadrilateral

Rectangle

ТЕРМИНЫ-СИНОНИМЫ:

БК – суперкласс ПК – субкласс (подкласс)

 

 

 

07 – 6

 

 

 

ПРИМЕРЫ БКИ ПК

 

 

 

 

 

 

Имя БК (АО)

Имя ПК (АО)

 

 

 

 

 

 

 

Worker

 

FacultyMember (академ. персонал)

 

 

(сотрудник)

 

StaffMember (технич. персонал)

 

 

 

 

Student

 

Udergraduate (студент)

 

 

(учащийся)

 

Graduate (аспирант)

 

 

 

 

Shape

 

Circle (круг)

 

 

(фигура)

 

Square (квадрат)

 

 

 

 

 

 

 

 

 

Triangle (треугольник)

 

07 – 7

ИЕРАРХИЯ КЛАССОВ

NSTUMember

Worker

Student

FacultyMember StaffMember

Administrator Teacher Scientist

WorkerStudent

AdminTeacher TeacherScientist

простое (–––) и множественное (- - -) наследование

07 – 8

ОПРЕДЕЛЕНИЕ НАСЛЕДОВАНИЯ:

class Worker: public NSTUMember

{... };

3.3.Защищенные элементы класса

07 – 9

3.4.Преобразование указателей БК

вуказатели ПК

При открытом наследовании ОПК является ОБК

ОБК никогда не является ОПК !

Указатель на БК (УБК) можно преобразовать в указатель на ПК (УПК) посредством операции явного приведения типа

07 – 10

Пример:

// БК; представляет точку с коорд-тами (x,y)

class Point {

friend ostream &operator << (ostream &, Point &);

protected:

int x, y; // доступны ФЭ и друзьям ПК

public:

Point(int=0, int=0); void setPoint(int, int);

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]