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

UptoLike

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

tance и Run. В терминах сообщений можно сказать, WinMain посылает объекту theApp
сообщение InitInstance, которое приводит в действие метод InitInstance.
Получив сообщение InitInstance, theApp создает внутренние объекты приложения.
Процесс создания выглядит как последовательное порождение одних объектов другими.
Набор объектов, порождаемых в начале этой цепочки, определен структурой MFC прак-
тически однозначно - это главная рамка, шаблон, документ, облик. Их роли в работе
приложения будут рассмотрены далее.
Следующее сообщение, получаемое theApp, - Run - приводит в действие метод
Run. Оно как бы говорит объекту: "Начинай работу, начинай процесс обработки сооб-
щений из внешнего мира". Объект theApp циклически выбирает сообщения из очереди и
инициирует обработку сообщений объектами приложения.
Некоторые объекты имеют графический образ на экране, с которым может
взаимодействовать пользователь. Эти интерфейсные объекты
обычно связаны
с Windows-окном. Среди них особенно важны главная рамка и облик. Именно им
объект прежде всего распределяет сообщения из очереди через механизм Windows-
окон и функцию Dispatch.
Когда пользователь выбирает команду меню окна главной рамки, то возникают
командные сообщения. Они отправляются сначала объектом theApp объекту главная
рамка, а затем обходят по специальному маршруту целый ряд объектов, среди кото-
рых первыми являются документ и облик, информируя их о пришедшей от пользова-
теля команде.
При работе приложения возникают и обычные вызовы одними объектами методов
других объектов. В объектно-ориентированной терминологии такие вызовы могут назы-
ваться
сообщениями. В Visual C++ некоторым методам приписан именно этот статус
(например, методу OnDraw).
Важное значение имеют также объекты документ, облик и главная рамка. Здесь
отметим только, что документ содержит данные приложения, облик организует пред-
ставление этих данных на экране, а окно главной рамки - это окно, внутри которого раз-
мещены все остальные окна приложения.
Наследование - одна из фундаментальных идей объектно-ориентированного про-
граммирования. Именно этот механизм наследования позволяет программисту допол-
нять и переопределять поведение базового класса, не вторгаясь в библиотеку MFC, ко-
торая остается неизменной. Все изменения делаются в собственном производном классе.
Именно в этом и заключается работа программиста.
Объекты, их которых состоит приложение, являются объектами классов, произ-
водных от классов библиотеки MFC. Разработка приложения состоит в том, что про-
граммист берет из библиотеки MFC классы CWinApp, CFrameWnd, CDocument, CView
и
т.д. и строит производные классы. Приложение создается как совокупность объектов
этих производных классов. Каждый объект несет в себе как наследуемые черты, опреде-
ляемые базовыми классами, так и новые черты, добавленные программистом. Наследуе-
мые черты определяют общую схему поведения, свойственную таким приложениям.
Новые же черты позволяют реализовать специфические особенности поведения прило-
жения, необходимые для решения стоящей перед ним задачи.
При определении производного класса программист может:
переопределить некоторые методы базового класса, причем те методы, что не были
переопределены, будут наследоваться в том виде, в каком они существуют в базовом
классе;
добавить новые методы;
добавить новые переменные.
Приложение, построенное на основе библиотеки MFC, - "айсберг", большая часть
которого невидима, но является основой всего приложения. Часть приложения, лежа-
щую в библиотеке MFC, - framework - называется
остовом приложения. Рассмотрим
174
tance и Run. В терминах сообщений можно сказать, WinMain посылает объекту theApp
сообщение InitInstance, которое приводит в действие метод InitInstance.
      Получив сообщение InitInstance, theApp создает внутренние объекты приложения.
Процесс создания выглядит как последовательное порождение одних объектов другими.
Набор объектов, порождаемых в начале этой цепочки, определен структурой MFC прак-
тически однозначно - это главная рамка, шаблон, документ, облик. Их роли в работе
приложения будут рассмотрены далее.
      Следующее сообщение, получаемое theApp, - Run - приводит в действие метод
Run. Оно как бы говорит объекту: "Начинай работу, начинай процесс обработки сооб-
щений из внешнего мира". Объект theApp циклически выбирает сообщения из очереди и
инициирует обработку сообщений объектами приложения.
      Некоторые объекты имеют графический образ на экране, с которым может
взаимодействовать пользователь. Эти интерфейсные объекты обычно связаны
с Windows-окном. Среди них особенно важны главная рамка и облик. Именно им
объект прежде всего распределяет сообщения из очереди через механизм Windows-
окон и функцию Dispatch.
      Когда пользователь выбирает команду меню окна главной рамки, то возникают
командные сообщения. Они отправляются сначала объектом theApp объекту главная
рамка, а затем обходят по специальному маршруту целый ряд объектов, среди кото-
рых первыми являются документ и облик, информируя их о пришедшей от пользова-
теля команде.
      При работе приложения возникают и обычные вызовы одними объектами методов
других объектов. В объектно-ориентированной терминологии такие вызовы могут назы-
ваться сообщениями. В Visual C++ некоторым методам приписан именно этот статус
(например, методу OnDraw).
      Важное значение имеют также объекты документ, облик и главная рамка. Здесь
отметим только, что документ содержит данные приложения, облик организует пред-
ставление этих данных на экране, а окно главной рамки - это окно, внутри которого раз-
мещены все остальные окна приложения.
      Наследование - одна из фундаментальных идей объектно-ориентированного про-
граммирования. Именно этот механизм наследования позволяет программисту допол-
нять и переопределять поведение базового класса, не вторгаясь в библиотеку MFC, ко-
торая остается неизменной. Все изменения делаются в собственном производном классе.
Именно в этом и заключается работа программиста.
      Объекты, их которых состоит приложение, являются объектами классов, произ-
водных от классов библиотеки MFC. Разработка приложения состоит в том, что про-
граммист берет из библиотеки MFC классы CWinApp, CFrameWnd, CDocument, CView и
т.д. и строит производные классы. Приложение создается как совокупность объектов
этих производных классов. Каждый объект несет в себе как наследуемые черты, опреде-
ляемые базовыми классами, так и новые черты, добавленные программистом. Наследуе-
мые черты определяют общую схему поведения, свойственную таким приложениям.
Новые же черты позволяют реализовать специфические особенности поведения прило-
жения, необходимые для решения стоящей перед ним задачи.
      При определении производного класса программист может:
• переопределить некоторые методы базового класса, причем те методы, что не были
    переопределены, будут наследоваться в том виде, в каком они существуют в базовом
    классе;
• добавить новые методы;
• добавить новые переменные.
      Приложение, построенное на основе библиотеки MFC, - "айсберг", большая часть
которого невидима, но является основой всего приложения. Часть приложения, лежа-
щую в библиотеке MFC, - framework - называется остовом приложения. Рассмотрим

                                         174