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


Вновь создаваемый класс может наследовать элементы и свойства уже существующих классов. Новый класс называется производным или потомком. Класс, элементы которого наследуются, называется базовым или родителем. В свою очередь, вновь полученный класс может служить базовым для следую­щего производного класса. Таким образом, можно получить древовидную структуру классов для программного проекта. Как правило, базовый класс за­ключает в себе (абстрагирует) наиболее общие черты, присущие ему и произ­водным от него классам. В языке С++ допускается как простое наследование, когда производный класс имеет только один базовый класс, так и множествен­ное наследование, когда производный класс является наследником нескольких базовых. Синтаксис простого и множественного наследования имеет следую­щий вид:

//Первый базовый класс

class А

{.. .

;};

//Второй базовый класс

class В { ;};

//Производный класс. Простое наследование

class С : public А {...... ;};

// Производный класс. Множественное наследование

class D: public A, protected В {.... ;};

void main() {....;}

Как видно из примера, базовые классы в заголовке производного класса записываются с меткой (ключом) доступа (табл. 22) через двоеточие. Если ба­зовый класс наследуется как private, то его публичные элементы будут насле­доваться с меткой private (табл. 22). Однако в этом случае элементы базового класса можно объявить public в производном классе, записав их в разделе pub­lic производного класса. Такое наследование называется частным. Пример частного наследования class А //Базовый класс { public:

int ql(); int q2();

class В : private А //Производный класс {public:

A::ql; ....;};

void main() {....;}

Таблица 22

Варианты доступа при наследовании

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

Доступ в базовом

Доступ в производном

 

классе

классе

public

public

public

 

protected

protected

 

private

private

protected

public

protected

 

protected

protected

 

private

private

private

public

private

 

protected

private

 

private

private

 

 


Читайте также

Классы

Фундаментальным механизмом ООП является понятие класса. Класс представляет собой....

Доступ к элементам класса

Доступ к элементам или полям класса можно осуществить тремя способами:



Комментарии (0)







Разрешённые теги: <b><i><br>Добавить новый комментарий: