Программирование на языке высокого уровня. Марапулец Ю.В. - 175 стр.

UptoLike

Составители: 

работу приложения как процесс взаимодействия между остовом и частью приложения,
разработанной программистом. Совершенно естественно, что в методах, определенных
программистом, могут встречаться вызовы методов базового класса, что вполне можно
рассматривать как вызов функции из библиотеки. Важнее, однако, что и метод произ-
водного класса, определенный программистом, может быть вызван из метода родитель-
ского класса. Другими словами, остов и производный класс в этом смысле равноправны
- их методы могут вызывать друг друга. Такое равноправие достигается благодаря вир-
туальным методам и полиморфизму, имеющимся в арсенале объектно-
ориентированного программирования.
Если метод базового класса объявлен виртуальным и разработчик переопределил
его в производном классе, это значит, что при вызове данного метода в некоторой поли-
морфной функции базового класса в момент исполнения будет вызван метод производ-
ного класса и, следовательно, остов вызывает метод, определенный программистом.
Точнее говоря, обращение к этому методу должно производиться через ссылку на про-
изводный объект либо через объект, являющийся формальным параметром и получаю-
щий при вызове в качестве своего значения объект производного класса. Когда вызыва-
ется виртуальный метод, назовем его например, Method1, переопределенный разработ-
чиком, то согласно терминологии Visual C++, остов посылает сообщение Method1 объ-
екту производного класса, а метод Method1 этого объекта обрабатывает это сообщение.
Если сообщение Method1 послано объекту производного класса, а обработчик этого со-
общения не задан программистом, объект наследует метод Method1 ближайшего роди-
тельского класса, в котором определен этот метод. Если же обработчик такого сообще-
ния создан программистом, он автоматически отменяет действия, предусмотренные ро-
дительским классом в отсутствие этого обработчика.
Рассмотрим как создается приложение с помощью Visual C++. Сначала разберем
одно важное понятие - проект. До сих пор приложение рассматривалось, как только
как совокупность объектов базовых и производных классов. Но для обеспечения ра-
боты приложения требуется нечто большее - наряду с описанием классов необходимо
описание ресурсов, связанных с приложением, нужна справочная система и т.п. Тер-
мин "проект" как раз и используется, когда имеется в виду такой более общий взгляд
на приложение.
В среде Visual C++ можно строить различные типы проектов. Такие проекты после
их создания можно компилировать и запускать на исполнение. Компания Microsoft раз-
работала специальный инструментарий, облегчающий и ускоряющий создание проектов
в среде Visual C++. Например, мастер MFC AppWizard (exe) позволяет создать проект
Windows-приложения которое имеет однодокументный, многодокументный или диало-
говый интерфейс и использует библиотеку MFC.
Создаваемый остов приложения составлен так, что в дальнейшей работе с проек-
том можно использовать другое инструментальное средство - ClassWizard (мастер клас-
сов), предназначенное для создания остовов новых производных классов. Еще одно ос-
новное назначение ClassWizard в том, что он создает остовы для переопределяемых ме-
тодов. Он позволяет показать все сообщения, приходящие классу, и создать остов обра-
ботчика любого из этих сообщений. Это только две основные функции ClassWizard. Он
не всесилен, но его возможности довольно велики.
6.2.2. Инструменты Visual C++
В состав компилятора Microsoft Developer Studio встроены средства, позволяющие
программисту облегчить разработку приложений. В первую очередь к ним относятся
MFC AppWisard, ClassWizard и редактор ресурсов.
Благодаря MFC AppWizard среда разработчика позволяет быстро создавать шабло-
ны новых приложений. При этом программисту не приходится писать ни одной строчки
175
работу приложения как процесс взаимодействия между остовом и частью приложения,
разработанной программистом. Совершенно естественно, что в методах, определенных
программистом, могут встречаться вызовы методов базового класса, что вполне можно
рассматривать как вызов функции из библиотеки. Важнее, однако, что и метод произ-
водного класса, определенный программистом, может быть вызван из метода родитель-
ского класса. Другими словами, остов и производный класс в этом смысле равноправны
- их методы могут вызывать друг друга. Такое равноправие достигается благодаря вир-
туальным методам и полиморфизму, имеющимся в арсенале объектно-
ориентированного программирования.
      Если метод базового класса объявлен виртуальным и разработчик переопределил
его в производном классе, это значит, что при вызове данного метода в некоторой поли-
морфной функции базового класса в момент исполнения будет вызван метод производ-
ного класса и, следовательно, остов вызывает метод, определенный программистом.
Точнее говоря, обращение к этому методу должно производиться через ссылку на про-
изводный объект либо через объект, являющийся формальным параметром и получаю-
щий при вызове в качестве своего значения объект производного класса. Когда вызыва-
ется виртуальный метод, назовем его например, Method1, переопределенный разработ-
чиком, то согласно терминологии Visual C++, остов посылает сообщение Method1 объ-
екту производного класса, а метод Method1 этого объекта обрабатывает это сообщение.
Если сообщение Method1 послано объекту производного класса, а обработчик этого со-
общения не задан программистом, объект наследует метод Method1 ближайшего роди-
тельского класса, в котором определен этот метод. Если же обработчик такого сообще-
ния создан программистом, он автоматически отменяет действия, предусмотренные ро-
дительским классом в отсутствие этого обработчика.
      Рассмотрим как создается приложение с помощью Visual C++. Сначала разберем
одно важное понятие - проект. До сих пор приложение рассматривалось, как только
как совокупность объектов базовых и производных классов. Но для обеспечения ра-
боты приложения требуется нечто большее - наряду с описанием классов необходимо
описание ресурсов, связанных с приложением, нужна справочная система и т.п. Тер-
мин "проект" как раз и используется, когда имеется в виду такой более общий взгляд
на приложение.
      В среде Visual C++ можно строить различные типы проектов. Такие проекты после
их создания можно компилировать и запускать на исполнение. Компания Microsoft раз-
работала специальный инструментарий, облегчающий и ускоряющий создание проектов
в среде Visual C++. Например, мастер MFC AppWizard (exe) позволяет создать проект
Windows-приложения которое имеет однодокументный, многодокументный или диало-
говый интерфейс и использует библиотеку MFC.
      Создаваемый остов приложения составлен так, что в дальнейшей работе с проек-
том можно использовать другое инструментальное средство - ClassWizard (мастер клас-
сов), предназначенное для создания остовов новых производных классов. Еще одно ос-
новное назначение ClassWizard в том, что он создает остовы для переопределяемых ме-
тодов. Он позволяет показать все сообщения, приходящие классу, и создать остов обра-
ботчика любого из этих сообщений. Это только две основные функции ClassWizard. Он
не всесилен, но его возможности довольно велики.

     6.2.2. Инструменты Visual C++

     В состав компилятора Microsoft Developer Studio встроены средства, позволяющие
программисту облегчить разработку приложений. В первую очередь к ним относятся
MFC AppWisard, ClassWizard и редактор ресурсов.
     Благодаря MFC AppWizard среда разработчика позволяет быстро создавать шабло-
ны новых приложений. При этом программисту не приходится писать ни одной строчки

                                        175