Программирование, Python, C++, Часть 4, Поляков К.Ю., 2019.
Книга представляет собой завершающую, четвёртую часть серии учебных пособий по программированию. В отличие от большинства аналогичных изданий, в ней представлены два языка программирования высокого уровня — Python и C++.
Главные темы пособия — объектно-ориентированное программирование и создание программ с графическим интерфейсом. Изучаются основные принципы объектного подхода к созданию программ: абстракция, инкапсуляция, наследование, полиморфизм. Изложение ведётся на примерах программирования игр, в которых моделируются системы взаимодействующих объектов.
Для демонстрации возможностей сред быстрой разработки программ в последней части пособия рассмотрены примеры приложений на языке С#.
После каждого параграфа приводится большое число заданий для самостоятельного выполнения разной сложности и вариантов проектных работ.
Пособие предназначено для учащихся средних школ.
Проблема сложности программ.
Во второй половине XX века компьютеры стали применять для моделирования сложных систем, как технических (системы связи), так и информационных (склады, банки, системы бронирования билетов и др.). Новые задачи требовали более сложных алгоритмов, размеры программ выросли до десятков и сотен тысяч строк кода, число переменных и массивов измерялось в тысячах.
Программисты столкнулись с проблемой сложности, которая превысила возможности человеческого разума. Один человек уже неспособен написать надёжно работающую серьёзную программу, так как не может «охватить взглядом» все её детали. Поэтому в разработке современных программ, как правило, принимает участие множество специалистов. При этом возникает новая проблема: нужно разделить работу между ними так, чтобы каждый мог работать независимо от других, а потом готовую программу можно было бы собрать вместе из готовых блоков, как из кубиков.
Как отмечал известный нидерландский программист Эдсгер Дейкстра, человечество ещё в древности придумало способ управления сложными системами: «разделяй и властвуй». Это означает, что исходную систему нужно разбить на подсистемы (выполнить декомпозицию) так, чтобы работу каждой из них можно было рассматривать и совершенствовать независимо от других.
Содержание.
Предисловие.
Глава 1. Программирование на языке Python.
§1. Что такое ООП?.
Проблема сложности программ.
Процедурное программирование.
Объектный подход.
Взаимодействие объектов.
Выводы.
§2. Модель задачи: классы и объекты.
Объектно-ориентированный анализ.
«Торпедная атака».
Объекты и классы.
Классы объектов в игре.
Взаимодействие объектов.
Выводы.
§3. Классы и объекты в программе.
Объявление класса.
Поля класса.
Конструктор.
Конструктор с параметрами.
Данные класса.
Методы.
Анимация.
Строим флотилию.
Выводы.
§4. Скрытие внутреннего устройства.
Зачем это делать?.
Скрытие полей.
Доступ к полям через методы.
Свойства (property).
Меняем внутреннее устройство.
Свойство «только для чтения».
Выводы.
§5. Иерархия классов.
Наследование.
Иерархия объектов в игре.
Базовый класс.
Доступ к полям.
Выводы.
§6. Классы-наследники (I).
Классы-наследники.
Пульсар.
Полиморфизм.
Выводы.
§7. Классы-наследники (II).
Подвижные объекты.
Космические корабли.
Модуль с классами.
Выводы.
§ 8. Событийно-ориентированное программирование.
Особенности современных прикладных программ.
Программы с графическим интерфейсом.
Простейшая программа.
Свойства формы.
Обработчик события.
Выводы.
§9. Использование компонентов (виджетов).
Программа с компонентами.
Новый класс: всё в одном.
Ввод и вывод данных.
Обработка ошибок.
Выводы.
§ 10. Создание компонентов.
Зачем это нужно?.
Компонент для ввода целых чисел.
Программа с новым компонентом.
Выключатель с рисунком.
Перехват щелчка мышью.
Новое свойство onChange.
Составной компонент.
Выводы.
§11. Модель и представление.
Зачем это нужно?.
Вычисление арифметических выражений: модель.
Представление.
Выводы.
Глава 2. Программирование на языках C++ и C#.
§12. Классы и объекты в C++.
Новая задача и её анализ.
Класс СМар.
Пишем свой конструктор.
Рефакторинг.
Рисуем карту.
Выводы.
§13. Программа с классами (практикум).
Класс ССаг.
Снова рефакторинг.
Основная программа.
Разбиение на модули.
Выводы.
§14. Инкапсуляция.
Объект защищает свои данные.
Изменение внутреннего устройства.
Свойство «только для чтения».
Свойства в C#.
Выводы.
§15. Наследование.
Моделирование жизни в океане.
Иерархия классов.
Базовый класс.
Абстрактный класс.
Защищённые поля и методы (protected).
Неподвижные объекты.
Подвижные объекты.
Рыбы.
Хищники.
Вспомогательные процедуры и функции.
Основная программа.
Выводы.
§16. Полиморфизм.
Указатели на базовый класс.
Полиморфизм в действии.
Немного теории.
Позднее связывание.
Класс Океан.
Деструктор.
Выводы.
§17. Взаимодействие объектов.
Столкновения.
Изменение базового класса.
Изменение других классов.
«Умные» указатели.
Применяем «умные» указатели.
Выводы.
§ 18. Простая программа на C#.
RAD-среды для разработки программ.
Язык C# и среда.NET.
Проект в C#.
Первый проект.
Свойства объектов.
Обработчики событий.
Выводы.
§19. Использование компонентов.
Программа для просмотра рисунков.
Ввод и вывод данных.
Обработка ошибок.
Выводы.
§20. Создание новых классов.
Вычисление арифметических выражений: модель.
Новый класс.
Методы класса.
Вычисление арифметических выражений: представление.
Новый компонент — зачем это нужно?.
Добавляем новый компонент.
Изменение поведения компонента.
Выводы.
Заключение.
Литература для дальнейшего изучения.
Купить .
Теги: учебник по программированию :: программирование :: Поляков
Смотрите также учебники, книги и учебные материалы:
- CSS, 100 и 1 совет, Эндрю Р., 2010
- CSS для профи, Грант К., 2019
- Android для разработчиков, Дейтел П., Дейтел X., Уолд А., 2016
- Современный JavaScript для нетерпеливых, Хорстман К.С., 2021
- Clean Code, Robert Martin, 2009
- Простой Python, Современный стиль программирования, Любанович Б., 2016
- Программирование для детей, Вордерман К., Вудкок Д., Макаманус Ш., 2015
- Изучаем программирование на Python, Бэрри П., 2017