>>

ПРЕДИСЛОВИЕ

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

Однако ООП существенно отличается от традиционного программирования, к которому мы привыкаем со школьной скамьи, и потому считается трудно осваиваемым. Чтобы технологически грамотно использовать ООП, необходимо хорошо понимать его основные концепции и научиться мыслить при разработке программы в понятиях ООП. Для того чтобы помочь вам в этом, и написана данная книга.

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

В основе книги лежат конспекты лекций, читаемых авторами в течение нескольких лет в МГТУ им. Н.Э. Баумана на кафедре «Компьютерные системы и сети» в цикле базовой подготовки по программированию, рассчитанной на студентов младших курсов. К началу чтения данного раздела студенты уже владеют основными навыками программирования на Паскале и С, а также работы в операционных системах МБ БОБ и Windows’95 (или старше). Аналогичная подготовка желательна и для читателей предлагаемой книги.

Изложение построено следующим образом.

В главе 1 подробно представлены основные концепции и механизмы ООП. Описание выполняется чисто теоретически, без учета особенностей конкретных реализаций объектных моделей в рассматриваемых языках программирования.

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

В главах 2 и 3 подробно рассмотрены средства ООП языков программирования, предназначенные для использования в среде MS DOS. Это упрощенная модель, предложенная в Borland Pascal 7.0 специально для облегчения «вживания» программистов в новую технологию, и практически полная объектная модель Borland C++ 3.1. Выбор именно этих языковых средств в значительной степени был обусловлен их широким распространением в нашей стране. Материал сопровождается большим количеством примеров, иллюстрирующих основные моменты изложения. При желании можно изучать одну из предложенных моделей, так как материал этих глав не связан, но в главе 2 много внимания уделяется выполнению декомпозиции, поэтому желательно ее хотя бы просмотреть.

Глава 4 содержит сведения об особенностях разработки приложений операционных систем Windows’95, Windows’98 и Windows NT, необходимые для понимания глав 5 и 6, посвященных объектным моделям, положенным в основу Delphi и C++ Builder. Разработка приложений Windows в этих средах существенно автоматизирована, что упрощает их освоение по сравнению с профессиональными средами типа Visual C++. В то же время эти среды предлагают разработчикам огромные библиотеки визуальных и невизуальных компонент и в том числе средства для связи с наиболее популярными базами данных, позволяя создавать в них достаточно серьезные программные продукты. Данная книга поможет вам сравнить обе модели, оценить их недостатки и достоинства.

Серьезной проблемой при изложении материала было отсутствие единой принятой терминологии ООП. Так, например, традиционно в C++ для обозначения функций, включенных в класс, используется термин «компонентные функции», а в Pascal - «методы» и т.д.

По мере возможности мы стремились использовать единую терминологию, оговаривая соответствующие особенности при изложении материала.

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

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

При изображении диаграмм классов использованы следующие условные обозначения:

В большинстве случаев рядом с разрабатываемым классом указываются названия полей и методов, которые предполагается включить в класс. Такое описание, как правило, позволяет сориентироваться в основных особенностях классов. Например:

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

Учебник содержит большое количество примеров программ на рассматриваемых языках программирования. Как правило, они иллюстрируют новые положения или сложные моменты.

Мы будем рады, если наша книга поможет вам в освоении ООП.

Главы 1,4-6 написаны доцентом, канд. техн. наук Г.С. Ивановой; глава 2 - старшим преподавателем, канд. техн. наук Е.К. Пугачевым; глава 3 - доцентом, канд. техн. наук Т.Н. Ничушкиной.

Хочется выразить глубокую признательность рецензентам: кафедре «Информатизация структур государственной службы» Российской академии госслужбы при Президенте РФ (зав. кафедрой профессор А.В. Петров) и профессору О.М. Брехову (зав. кафедрой «ЭВМ, комплексы и сети», МАИ) за ценные замечания и рекомендации, которые были учтены авторами при работе над рукописью.

Авторы

1.

| >>
Источник: Г.С.Иванова, Т.Н.Ничушкина, Е.К.Пугачев. Объектно- ориентированное программирование. 2001

Еще по теме ПРЕДИСЛОВИЕ:

  1. ПРЕДИСЛОВИЕ
  2. САМООТВОД (Вместо предисловия)
  3. Предисловие
  4. ПРЕДИСЛОВИЕ
  5. Предисловие
  6. ПРЕДИСЛОВИЕ
  7. ПРЕДИСЛОВИЕ
  8. ПРЕДИСЛОВИЕ
  9. Предисловие
  10. ПРЕДИСЛОВИЕ
  11. Предисловие