Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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






Наследование —это механизм, позволяющий строить иерархию типов. Механизм наследования предполагает определение базового типа, а затем использование этого типа для построения производных типов. Используя наследование, можно создать главный класс, который определяет свойства, общие для набора связанных элементов. Затем этот класс может быть унаследован другими, более специфическими классами, каждый из которых добавляет те свойства, которые являются уникальными для него. Класс, который унаследован, называется суперклассом (superclass). Класс, который выполняет наследование, называется подклассом (subclass). Поэтому подкласс — это специализированная версия суперкласса. Он наследует все переменные экземпляра и методы, определенные суперклассом, и прибавляет свои собственные уникальные элементы.

 

Определение производного класса

Синтаксис определения производного класса следующий:

class < D >: [ < вид наследования> ] < В > [,...] { < объявления членов класса> }

где D - имя производного класса, В - имя базового класса, вид наследования определяется одним из ключевых слов public, private или protected.

Синтаксис определения производного класса напоминает обычное объявление класса, за исключением того, что в заголовке определяемого класса указывается список наследования:

: [ < вид наследования> ]< В > [,...]

Список наследования определяет класс или классы, из которых порождается производный класс. Например:

class Derived: public Base {…};

Здесь определяется производный класс Derived из базового класса Base. При этом класс Derived наследует все свойства класса Base. Количество базовых классов в списке наследования может быть любым. Если производный класс наследует члены более чем одного базового класса, то такое наследование называется множественным. Каждый базовый класс, заданный в списке наследования, к моменту определения производного класса должен быть определен либо для него должно быть задано предварительное объявление. Предварительное объявление класса имеет вид:

class < имя класса>; Например:

Class Base; //Предварительное объявление class Derived: public Base

{...};

Class Base {...}; //Определение базового класса

Базовый класс и производный класс - это понятия относительные, а не абсолютные. Производный класс сам может быть базовым классом для нового, создаваемого из него класса и т.д. Таким образом, можно получить иерархию классов.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.