русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Наследование. Общие положения


Дата добавления: 2015-07-09; просмотров: 509; Нарушение авторских прав


 

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

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

Последовательное проведение в жизнь принципа наследования, особенно при разработке крупных программных проектов, хорошо согласуется с техникой нисходящего структурного программирования (от общего – к частному) и во многом иллюстрирует такой подход. При этом сложность кода программы в целом существенно снижается. Производный класс (потомок) наследует все компонентные элементы базового класса (родителя) и всех его предшественников в иерархии классов.

При наследовании базовый класс «обрастает» новыми компонентными данными и функциями. Создавая модель предметной области, программист обычно подбирает наиболее подходящие классы (класс) для решения конкретной задачи и создает одного или нескольких потомков от них, которые приобретают способность делать не только то, что заложено в родительских классах. Дружественные функции позволяют производному классу получить доступ ко всем членам данных внешних классов.

Производный класс может наследовать элементы – данные и функции-элементы одного или нескольких базовых классов (основного или промежуточных). При этом функции-элементы могут быть переопределены (виртуальные функции) или перегружены в производном классе с целью изменения алгоритма поведения объекта производного класса относительно объектов базового класса.



В производном классе могут быть дополнительно объявлены данные и функции, расширяющие структуру объекта и его поведение.

Наследование может быть простым, множественным и виртуальным.

Таким образом, в ходе наследования:

1. Создается новый тип класса на основе одного или нескольких ранее созданных;

2. Новый тип (производный класс) наследует компонентные элементы базового класса;

3. При наследовании могут быть добавлены новые элементы;

4. Отдельные элементы базового класса (закрытые) не доступны в производном классе;

5. Наследуемые функции-элементы могут быть изменены в производном классе с использованием технологий перегрузки и переопределения.

Таким образом, объекты производного класса могут существенно отличаться от объектов базового класса как в сторону увеличения свойств и методов, так и в сторону их уменьшения. Однако основное назначение наследования – развитие.

 

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

class имя_производного_класса: [ ключ_доступа ] имя_базового_класса

{описание элементов производного класса };

Ключ доступа позволяет изменить статус наследуемых элементов базового класса с точки зрения их доступности в производном классе. Ключ доступа – это одно из трёх ключевых слов: private, protected или public.

 



<== предыдущая лекция | следующая лекция ==>
Создание объекта в динамической памяти | Влияние ключа доступа при наследовании


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.033 сек.