Составители:
Рубрика:
работу приложения как процесс взаимодействия между остовом и частью приложения,
разработанной программистом. Совершенно естественно, что в методах, определенных
программистом, могут встречаться вызовы методов базового класса, что вполне можно
рассматривать как вызов функции из библиотеки. Важнее, однако, что и метод произ-
водного класса, определенный программистом, может быть вызван из метода родитель-
ского класса. Другими словами, остов и производный класс в этом смысле равноправны
- их методы могут вызывать друг друга. Такое равноправие достигается благодаря вир-
туальным методам и полиморфизму, имеющимся в арсенале объектно-
ориентированного программирования.
Если метод базового класса объявлен виртуальным и разработчик переопределил
его в производном классе, это значит, что при вызове данного метода в некоторой поли-
морфной функции базового класса в момент исполнения будет вызван метод производ-
ного класса и, следовательно, остов вызывает метод, определенный программистом.
Точнее говоря, обращение к этому методу должно производиться через ссылку на про-
изводный объект либо через объект, являющийся формальным параметром и получаю-
щий при вызове в качестве своего значения объект производного класса. Когда вызыва-
ется виртуальный метод, назовем его например, 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
Страницы
- « первая
- ‹ предыдущая
- …
- 173
- 174
- 175
- 176
- 177
- …
- следующая ›
- последняя »