Окно windows с точки зрения объектно ориентированного программирования это

Операционная система Microsoft Windows 3.1 для программиста

1.3. Окно и функция окна

В этом разделе вы узнаете, что операционная система Windows является объектно-ориентированной средой.

Как это следует из названия операционной системы, основным объектом в Windows является окно. И это действительно так. Однако давайте уточним, что понимается под окном.

Окна Windows

С точки зрения пользователя Windows окном является прямоугольная область экрана, в которой приложение может что-либо рисовать или писать, а также выполнять все операции взаимодействия с пользователем. Например, на рис. 1.8 показано главное окно приложения Media Player, которое в данном случае используется для проигрывания звукового компакт-диска.

Рис. 1.8. Главное окно приложения Media Player

С точки зрения программиста то, что изображено на рис. 1.8, является совокупностью большого количества отдельных объектов, которые созданы приложением Media Player и самой операционной системой Windows. Для каждого объекта в приложении имеются свои данные и методы. Все эти объекты обычно называются окнами.

Такие объекты, как пиктограмма системного меню, кнопка минимизации, отдельные фрагменты толстой рамки, предназначенной для изменения размера основного окна, заголовок окна с надписью «Media Player — CD Audio (stopped)», а также полоса меню, — не что иное, как различные окна, создаваемые самой операционной системой Windows. Приложение не принимает никакого участия в формировании этих окон, оно просто указывает Windows, какие из перечисленных выше элементов необходимо создать.

Иное дело область, располагающаяся ниже полосы меню и ограниченная рамкой. Эта область представляет собой место, в котором приложение может рисовать и создавать новые окна.

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

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

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

Таким образом, любое приложение Windows можно рассматривать как совокупность окон, внутри которых можно что-либо рисовать или писать. Для каждого окна в приложении определены данные и методы, предназначенные для работы с этими данными (в частности, для рисования в окне).

Окна Windows как объекты

Все окна, формируемые приложением или операционной системой Windows для приложения, можно рассматривать как объекты, над которыми можно выполнять различные операции.

Проведем параллель с языком C++. В терминах языка C++ объект называется классом, который представляет из себя совокупность данных и методов, с помощью которых эти данные должны обрабатываться. Например, вы можете определить класс как совокупность простых переменных и структур, а также функций-членов (нам больше нравится название «функция-метод» или просто «метод»), выполняющих обработку данных, записанных в этих переменных или структурах.

В операционной системе Windows объектами, с которыми можно что-либо делать, являются окна — те самые окна, из которых формируется «внешний вид» приложения.

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

Что это за действия?

Например, вы можете щелкнуть левой (или правой) кнопкой мыши в то время, когда курсор мыши находится над окном. Это событие, на которое окно может реагировать, а может и не реагировать. Вы можете щелкнуть мышью по любому окну, принадлежащему приложению, и каждое окно должно реагировать на это по-своему.

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

Читайте также:  Сравнение все редакции windows

Этот механизм основан на использовании так называемой функции окна (window function) и сообщений.

Функция окна

Функция окна — это обыкновенная (почти) функция языка С, которая определяется для одного окна или группы окон. Каждый раз, когда происходит какое-либо событие, имеющее отношение к окну (например, щелчок мышью в окне), операционная система Windows вызывает соответствующую функцию окна и передает ей параметры, описывающие событие. Функция окна анализирует эти параметры и выполняет соответствующие действия.

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

Можно считать, что единственная для каждого окна функция окна реализует все методы окна как объекта. В языке программирования C++, напротив, каждый метод объекта (класса) реализуется отдельной функцией, называемой обычно функцией-членом. Для реализации всех методов функция окна анализирует код сообщения, однозначно идентифицирующий событие и, следовательно, определяющий нужный метод.

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

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

Приведем пример. Пусть, например, нам надо создать окно, выполняющее функцию кнопки. Мы можем создать собственный класс окна и для него определить собственную функцию окна. Эта функция будет обрабатывать сообщения и при необходимости изображать в окне нажатую или отжатую кнопку, а также выполнять другие действия. Однако в Windows уже определен класс окна, соответствующий кнопкам. Если вы воспользуетесь этим классом, вам не придется создавать свою функцию окна, так как будет использоваться функция, уже имеющаяся в Windows и выполняющая все необходимые действия.

Любое создаваемое вами окно может наследовать свойства уже созданных ранее окон, добавляя свои или переопределяя уже имеющиеся в базовом классе методы. В этом и заключается механизм наследования Windows.

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

Окно windows с точки зрения объектно ориентированного программирования это

— графический пользовательский интерфейс;

— использование виртуальной памяти;

— подключение новых периферийных устройств по технологии Plug and Play;

— наличие коммуникационных программных средств;

— наличие средств мультимедиа.

Рассмотрим эти характеристики подробнее.

Вытесняющая многозадачность. Как было сказано ранее, Windows является многозадачной ОС, т.е. способной одновременно выполнять несколько программ. На самом деле микропроцессор в каждый момент времени может выполнять инструкции только одной программы, но многозадачный режим позволяет так распределить время между несколькими программами, что у пользователя создается впечатление об ох одновременной работе.

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

Использование виртуальной памяти. Извечная компьютерная проблема – нехватка оперативной памяти, решается в среде Windows с помощью виртуальной (реально не существующей) памяти. Виртуальная память – расширение оперативной памяти за счет использования части внешней памяти. Согласно известному принципу фон Неймана, работающая программа должна находиться в ОЗУ. Но если оперативной памяти не хватает для работы текущего приложения, то часть программы, не использующей в данный момент процессор, вытесняется из ОЗУ на диск. На ее место в ОЗУ «подкачивается» необходимый фрагмент активной (работающей в данный момент) программы. Таким образом, программы циркулируют между диском и оперативной памятью.

Читайте также:  Directx version directx 11 для windows

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

Технология Plug and Play. Для подключения нового периферийного устройства в ОС ранних версий, например, MS DOS, пользователь должен был обладать профессиональными знаниями, например, уметь наладить файл конфигурации, знать структуру команды подключения необходимого драйвера и т.п. В среде Windows эта задача решается намного проще. Система самостоятельно создает и изменяет файл конфигурации, распознает конкретное техническое устройство и производит его автонастройку. Подобная технология получила название Plug and Play «включай и работай».

Коммуникационные (сетевые) программные средства. Сетевые средства Windows позволяют

— обеспечить передачу данных между двумя компьютерами по кабелю;

— организовать электронную почту в локальной и глобальной сети;

— организовать компьютерную сеть из нескольких компьютеров;

— обменяться файлами с удаленным компьютером и подключиться к глобальной сети и др.

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

4.4. Объектно-ориентированная платформа ОС Windows

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

Такой подход реализован в среде Windows, и благодаря ему, существенно упрощается работа пользователя, поскольку сохраняется некая общность операций с любым приложением или документом. Все, с чем приходится иметь дело пользователю в среде Windows, считается объектом. Любой объект характеризуется определенным набором свойств и набором действий, которые с ним можно производить. Для ознакомления с этим набором действий достаточно выделить объект (1 щелчок левой клавишей мыши по ярлыку объекта), а затем щелкнуть правой клавишей, вызвав тем самым контекстное меню объекта с перечнем действий.

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

Немаловажной особенностью работы с любым объектом является возможность автоматического запуска приложения, с помощью которого этот объект был создан. Для этого достаточно сделать двойной щелчок левой клавишей по значку объекта. Одновременно с запуском приложения раскрывается и «щелкнутый» документ. Таким образом, если вы нашли значок документа, с которым хотите работать – не надо долго искать с помощью какой программы (приложения) это можно делать.

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

Объекты файловой системы – файл и папка. Файл – логически связанная совокупность данных, для размещения которой на внешнем носителе выделена поименованная область. В Windows разрешены имена любой длины из любых символов. С общими свойствами файла можно ознакомиться, вызвав команду «СВОЙСТВА» контекстного меню. К ним относятся:

— тип – характер хранимых данных (текст, рисунок, звуковой файл и т.д.);

— размер – объем занимаемой памяти на диске;

— дата и время создания;

— дата и время внесения последних изменений и др.

Окно Свойство файла – на рисунке.

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

Пример контекстного меню

Также набор действий, которые можно совершить с файлом, можно увидеть при раскрытии меню «ФАЙЛ» (самое левое окно системного меню) – см. рисунок.

Читайте также:  Excel word windows android

Раскрытое меню «ФАЙЛ»

Поясним некоторые действия с файлом.

Открыть файл – получить доступ к его содержимому;

Отправить файл – переслать по электронной почте, либо переместить в папку «МОИ ДОКУМЕНТЫ» или на внешний носитель;

Скопировать файл – сделать копию, сохранив исходный экземпляр файла;

Удалить файл – файл переводится в специальную папку «КОРЗИНА», а со старого места удаляется.

Контекстное меню «СВОЙСТВА» папки «Информатика для технологов»

Другим важным объектом файловой системы является папка. Папка – хранилище некоторой группы объектов. Как и файлу, папке присваивается имя. Со свойствами папки можно познакомиться, открыв контекстное меню «СВОЙСТВА» – см. рисунок.

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

В ОС Windows создана иерархическая (вложенная) структура файлов и папок. На верхнем уровне этой структуры находится единственный объект – «рабочий стол» – см. рисунок.

На втором уровне располагаются объекты, размещенные на «РАБОЧЕМ СТОЛЕ». Это стандартные папки: «МОЙ КОМПЬЮТЕР», «МОИ ДОКУМЕНТЫ», «КОРЗИНА». Это системные папки и они немного отличаются от других – например, их нельзя удалять или перемещать. Папка «МОЙ КОМПЬЮТЕР» предоставляет доступ ко всем папкам и файлам компьютера. В папке «МОИ ДОКУМЕНТЫ» хранятся документы пользователя. Папка «КОРЗИНА» предназначена для хранения удаленных объектов, с тем, чтобы при желании (спохватившись) их легко можно было восстановить. После выполнения специальной операции «ОЧИСТИТЬ КОРЗИНУ» помещенные в корзину объекты восстановлению не подлежат.

Прочие папки и файлы вложены в названные папки второго уровня и т.д.

Объекты пользовательского уровня – приложения и документы. Термин «приложение» ранее употреблялся нами как синоним термина «прикладная программа», т.е. программа для решения задачи определенной предметной области. С точки зрения объектно-ориентированной платформы ОС Windows слово «приложение» (англ. – application) имеет несколько иной смысл.

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

Документ – объект Windows, созданный с помощью приложения и содержащий информацию определенного вида. Это могут быть тексты, таблицы, рисунки, звуки и т.д.

Документы одного типа, созданные, как правило, в одном приложении, имеют один и тот же значок. Примеры значков – на рисунке.

При работе в среде Windows часто используется термин «задача», которое тесно связано с термином «приложение». Задача – приложение, работающее в текущем сеансе общения пользователя с компьютером и потребляющее ресурсы компьютера: память, процессорное время, доступ к внешним устройством. Следовательно, приложение становится задачей после его запуска.

Замечание. Понятие «задача» связано с фактом потребления ресурсов, а не с тем, работает с приложением пользователь или нет. О некоторых задачах пользователь может и не подозревать. Это такие задачи, чьё функционирование необходимо для нормального выполнения задач, запущенных пользователем и они автоматически активизируются операционной системой. Полный список задач можно получить, нажав одновременно три клавиши + + .

4.5. Пользовательский графический интерфейс ОС Windows

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

В данном случае речь пойдет о средствах взаимодействия человека (пользователя) с компьютером, поэтому будем говорить о пользовательском интерфейсе.

Его значение весьма велико, т.к. от его удобства во многом зависит эффективность использования программного продукта и всей вычислительной системы. В ОС Windows используется графический интерфейс (различия между текстовым и графическим интерфейсом см. 4.2. «Функции операционной системы»).

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

Оцените статью