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

Наследование - один из основных механизмов объектно-ориентированного программирования. Оно позволяет создать из основного класса (класса-родителя) производный класс (класс-наследник), обладающий всеми возможностями базового. То есть все объекты, функции и конструкторы переносятся в класс-наследник.

Но есть несколько оговорок, подобный перенос не относится к элементам с типом private и конструкторы базового класса не являются конструкторами для наследника. То есть такие конструкторы существуют в производном классе и их можно вызвать, но конструкторами как таковыми они уже не являются. Рассмотрим пример.

Класс Sl унаследовал все, кроме переменной v, которая имеет тип private. Конструктор Sl вызывает конструктор Fs для создания своего класса, но так как Sl является наследником, то ошибок не происходит. Если б не было в производном классе конструктора, то компилятор создал бы его по умолчанию, а не использовал бы конструктор базового класса.  Подобный подход очень удобен для различных модификаций класса, когда с помощью наследования делают несколько классов с общей основой – базовым классом. На подобной идее основывается полиморфизм и абстракция данных,  так же как и наследование, являющихся важными концепциями в ООП.

Опубликовано

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Капча загружается...