Фрагмент из книги:
Мы, наконец, готовы поговорить о наследовании. Наследование представляет собой одно из наиболее интересных качеств языка C++. Наследование в C++ - это механизм, который позволяет строить иерархию классов, переходя от более общих характеристик к специфическим, характерным только для классов-наследников. Когда один класс наследуется другим, первый из них называется базовым классом, а класс-наследник называется производным классом.
Методология программирования.
Сейчас мы немного поговорим об общей методологии составления программ. Конечно, не стоило бы заводить об этом разговор, если бы мы ограничивались написанием только небольших программ, т.е. программ, содержащих до нескольких сотен строк. Такие программки легко охватить взором как единую и неделимую единицу. Однако по мере увеличения размера программы такая монолитность становится неудобной. Поэтому программа должна быть разбита на ряд независимых программ, называемых модулями. А сам процесс разбиения назовем декомпозицией. Необходимость декомпозиции становится все более и более очевидной, когда возрастает размер программы. а в процесс составления программ вовлекается много людей.
По этой причине программа может быть разбита на части, причем каждая их них может создаваться отдельными участниками относительно независимо от остальных. Кроме того, следует учитывать и такой немаловажный факт, как вопросы модификации и сопровождения программ, не сопровождая. по возможности, этот процесс полной переделкой. В таких случаях предпочтительнее вносить изменения в существующую структуру и, следовательно. важно, чтобы структура допускала возможность такой модификации. В частности, необходимо, чтобы части были независимы друг от друга, что позволяло бы вносить изменения в один модуль, не изменяя другие. Нужно учитывать и тот факт, что вопросами сопровождения программного продукта, как правило, занимается вовсе не его разработчик, поэтому еще одна цель, которую преследует структурируемость программ, - это простота понимания программы.
Оглавление.
5. Наследование в языке C++.
5.1. Модификаторы наследования.
5.2. Конструкторы и деструкторы при наследовании.
5.3. Пример построения классов при наследовании.
5.4. Совместимость типов.
6. Дружественные функции.
6.1. Доступ к защищенным элементам класса.
6.2. Переопределение операторов с помощью дружественных функций.
7. Виртуальные методы.
7.1. Раннее и позднее связывание.
7.2. Виртуальные функции.
7.3. Полиморфизм и виртуальные методы.
7.4. Указатели на базовые классы.
7.5. Абстрактный класс.
8. Шаблоны (параметризованные типы).
8.1. Шаблоны функций.
8.2. Требования к фактическим параметрам шаблона.
8.3. Отождествление типов аргументов.
8.4. Шаблоны классов.
8.5. Шаблоны классов: не только для типов.
8.6. Наследование в шаблонах классов.
9. Методология программирования.
9.1. Декомпозиция и абстракция.
9.2. Абстракция через параметризацию.
9.3. Абстракция через спецификацию.
9.4. Процедурная абстракция.
9.5. Абстракция данных.
9.6. Классы операций.
9.7. Полнота.
10. Приложения.
10.1. Задачи по разработке и проектированию классов.
10.2. Задачи по разработке и проектированию систем классов.
10.3. Использование виртуальных методов при разработке систем классов.
10.4. Использование шаблонов при разработке классов.
Литература.
Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:
Скачать книгу Язык C++ и основы технологии объектно-ориентированного программирования, часть 2, Чернышов М.К., 2017 - fileskachat.com, быстрое и бесплатное скачивание.
Скачать pdf
Ниже можно купить эту книгу по лучшей цене со скидкой с доставкой по всей России.Купить эту книгу
Скачать - pdf - Яндекс.Диск.
Дата публикации:
Теги: учебник по программированию :: программирование :: Чернышов
Смотрите также учебники, книги и учебные материалы:
Следующие учебники и книги:
- Программирование на языке Паскаль, задачник, Ускова О.Ф., 2005
- Теоретические основы структурного и объектно-ориентированного программирования на языке Pascal, Нефедова В.Ю., 2013
- Объектно-ориентированное программирование на языке C++, Широков А.С., 2018
- Программирование C++, 1 курс, Груздев Д.В., 2017
Предыдущие статьи:
- Прикладное программирование, методические указания, Толокнова А.Н., 2018
- Проекты домашней автоматики на ESP8266, Батрину К.
- Практика ЭВМ - JavaScript, Груздев Д.В., 2017
- Азбука Delphi, программирование с нуля, Бескоровайный И.В., 2008