Основы объектно-ориентированного программирования [Ю. А. Блинков] (pdf) читать постранично, страница - 2

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

Рассматривается
абстрактный тип данных, лежащий в основе класса, совмещение классом роли типа данных и модуля и другие аспекты построения класса. Столь же подробно рассматриваются объекты и проблемы
управления памятью. Большая часть уделена отношениям между классами – наследованию, универсализации и их роли в построении программных систем. Важную часть составляет введение
понятия контракта, описание технологии проектирования по контракту, как механизма, обеспечивающего корректность создаваемых программ. Не обойдены вниманием и другие важные темы объектного программирования – скрытие информации, статическая типизация, динамическое связывание
и обработка исключений.
Цель. Курс предназначен для изучения инженерии разработки программных систем на основе

объектной технологии. Хотя в изложении и используется нотация языка программирования Python,
данный курс не является учебником по программированию на Python или каком либо конкретном
языке программирования. Он дает фундаментальное описание объектной технологии разработки и в
равной степени полезна всем, кто создает программные системы в объектном стиле независимо от
того, в какой рабочей среде и на каком языке программирования эти системы создаются. Курс лекций
в первую очередь адресуется будущим профессионалам, создающим качественный программный
продукт.
Практическое задание содержит варианты заданий и пример решения.
В первом разделе рассматривается качество ПО. Качество - это цель инженерной деятельности;
построение качественного ПО (software) - цель программной инженерии (software engineering). В
данном пособии рассматриваются средства и технические приемы, позволяющие значительно улучшить качество ПО. Прежде чем приступить к изучению этих средств и приемов, следует хорошо
представлять цель. Качество ПО лучше всего описывается комбинацией ряда факторов.
Критериям объектной ориентации посвящена следующая глава. Здесь будет дано лаконичное пояснение того, что делает систему объектно-ориентированной.
В четвертом разделе будут рассмотрены требования к разработке программного продукта. Буде
построен переход от понятия модуля к объектной технологии.
В пятом разделе будут рассмотрены некоторые из проблем, направленных на широкомасштабное
внедрение повторного использования программных компонентов.
Расширяемость, возможность повторного использования и надежность требуют выполнения ряда
условий, определенных в предыдущих разделах. Для их достижения требуется систематический
метод декомпозиции системы на модули. В этой разделе представлены основные элементы такого
метода, основанного на простой идее: строить каждый модуль на базе некоторого типа объектов.
Здесь эта идея объясняется, логически обосновывается и из нее выводятся некоторые следствия.
Чтобы объекты играли лидирующую роль в архитектуре ПО, нужно их адекватно описывать. В

седьмом разделе показывается, как это делать на примере абстрактных типов данных.
В восьмом разделе делается переход от теоретической основы ОО-подхода - абстрактного типы
данных к классам.
Следующий раздел посвящен экземплярам классов, которые называются объектами. Объекты формируют объекты модель ОО-вычислений времени выполнения. Будут также рассмотрены некоторые
аспектам реализации.
Факторы качества - повторное использование, расширяемость, совместимость - не должны достигаться ценой надежности (корректность и устойчивость). В десятом разделе рассматривается
концепция надежности.
В случае нарушения контракта стандартным средством ОО-технологии является обработка исключений. В этом разделе представлена технология исключений и ее применение.
В двенадцатом разделе рассмотрено одна из главных ОО-технологий – наследование. Почти всегда
новые программы являются расширениями предыдущих разработок, лучший способ создания нового
- это подражание старым образцам, их уточнение и комбинирование.
Полноценное применение наследования требует важного расширения этого механизма. Множественное наследование рассматривается в тринадцатом разделе.
В следуюшей главе рассматривается техника наследования. Наследование - ключевая составляющая ОО-подхода к повторному использованию и расширяемости.
Эффективное применение объектной технологии требует четкого описания в тексте системы типов
всех объектов, с которыми она работает на этапе выполнения. Это правило, известное как статическая типизация (static typing), делает наше ПО: более надежным, позволяя компилятору и другим
инструментальным средствам устранять несоответствия прежде, чем они смогут нанести вред; более
понятным, обеспечивая точной информацией читателей: авторов клиентских систем и тех, кто будет
сопровождать систему; более эффективным, поскольку информация о типах данных позволит компилятору сгенерировать оптимальный код. Хотя вопросами типизации данных активно занимались