Тема 6_Технологии программирования и ООП
.pdfКафедра |
|
|
|
|
Кафедра |
|
|
информатики |
|
|
|
информатики |
|
||
|
|
Тема |
УГАТУ |
|
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ |
УГАТУ |
|
|
|
|
|
|
|
|
|
• |
|
Технологии программирования |
Технологией программирования называют |
|
|||
|
|
совокупность методов и средств, |
|
||||
• |
|
Объектно-ориентированное |
|
|
|
||
|
|
|
используемых в процессе разработки |
|
|||
|
|
программирование |
|
|
|
программного обеспечения. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Основные этапы развития технологии программирования: |
||
|
|
|
|
|
I. «Cтихийное» программирование (от появления первых |
|
|
|
|
|
|
|
вычислительных машин до середины 60-х годов XX в). |
|
|
|
|
|
|
|
II. Cтруктурное программирование (60-70-е годы XX в.). |
|
|
|
|
|
|
|
III. Объектно-ориентированное программирование (с середины 80-х |
||
|
|
|
|
|
до конца 90-х годов ХХ века). |
|
|
|
|
|
|
|
IV. Компонентный подход к программированию и CASE-технологии (с |
||
|
|
|
|
|
середины 90-х годов XX до нашего времени). |
|
|
|
|
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
2 |
Кафедра |
|
|
|
|
Кафедра |
|
|
информатики |
|
|
|
информатики |
|
||
|
«Cтихийное» программирование |
|
|
«Cтихийное» программирование» |
|
||
|
|
|
УГАТУ |
|
|
УГАТУ |
|
«Стихийное» программирование. Первый этап РАЗВИТИЯ |
|
Создание языков программирования высокого уровня, таких, |
|||||
|
как FORTRAN и ALGOL, существенно упростило |
|
|||||
ТЕХНОЛОГИИ ПРОГРАММИРОВАНИЯ от появления первых |
|
|
|||||
|
программирование, это позволило увеличить сложность |
|
|||||
вычислительных машин до середины 60-х годов XX в. |
|
|
|||||
|
программ. |
|
|||||
Первые программы имели простейшую структуру. Они |
|
Типичная программа того времени состояла из основной |
|
||||
состояли из собственно программы на машинном языке |
|
||||||
программы, области глобальных данных и набора |
|
||||||
и обрабатываемых ею данных. |
|
|
подпрограмм (в основном библиотечных), выполняющих |
||||
|
|
|
|
|
обработку всех данных или их части. |
|
|
|
|
Структура первых программ: |
|
|
|
|
|
|
|
|
|
|
Архитектура программы с |
|
|
|
|
|
|
|
глобальной областью данных: |
|
|
Появление Aссемблеров позволило вместо двоичных или 16-ричных |
|
|
|
|
|||
кодов использовать символические имена данных и мнемоники кодов |
|
|
|
||||
операций. В результате программы стали более «читаемыми». |
|
|
|
|
|||
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, |
2009 г. |
3 |
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
4 |
Кафедра |
|
Кафедра |
|
|
информатики«Cтихийное» программирование |
УГАТУ |
информатики Cтруктурное программирование |
УГАТУ |
|
Чтобы сократить количество искажений в результате работы |
|
Структурный подход к программированию. Второй этап |
||
подпрограмм части глобальных данных, в подпрограммах стали |
развития технологии программирования – 60-70-е |
|
||
размещать локальные данные. |
|
годы XX в., в основе которого лежит декомпозиция |
||
|
|
(разбиение на части) сложных систем с целью |
|
|
Архитектура программы |
|
последующей реализации в виде отдельных |
|
|
|
небольших (до 40-50 операторов) подпрограмм. |
|
||
использующей подпрограммы с |
|
|
||
|
|
|
||
локальными данными: |
|
При таком подходе задача представляется в виде |
|
|
|
|
иерархии подзадач простейшей структуры. |
|
|
|
|
Проектирование осуществляется «сверху вниз» и |
|
|
|
|
подразумевает реализацию общей идеи, |
|
|
|
|
обеспечивая проработку интерфейсов подпрограмм |
||
На этом этапе «стихийного» программирования вначале проектировали и |
|
(нисходящее проектирование). |
|
|
|
|
|
||
реализовывали сравнительно простые подпрограммы, из которых затем |
Поддержка принципов структурного программирования |
|||
пытались построить сложную программу, т.е. использовался подход «снизу- |
была заложена в основу так называемых |
|
||
вверх» (восходящее проектирование). Интерфейсы подпрограмм |
|
процедурных языков программирования |
|
|
получались сложными, и при сборке программного продукта выявлялось |
|
|||
(Фортран, Алгол, Кобол, PL/I, Basic, Pascal , Си). |
|
|||
большое количество ошибок согласования. |
|
|
||
|
|
|
||
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
5 |
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
6 |
|
Кафедра |
|
Кафедра |
|
|
информатики Cтруктурное программирование |
УГАТУ |
информатики Cтруктурное программирование |
УГАТУ |
|
|
|
|||
Дальнейший рост сложности и размеров |
|
Связи между модулями |
||
разрабатываемого программного обеспечения |
|
|||
|
при использовании |
|
||
потребовал развития структурирования данных, в |
|
данной технологии |
|
|
языках появляется возможность определения |
|
осуществляются через |
||
пользовательских типов данных. |
|
специальный интерфейс, |
||
|
в то время как доступ к |
|||
Стремление разграничить доступ к глобальным |
|
|||
|
реализации самого |
|
||
данным программы, привело к возникновению |
|
модуля (телам |
|
|
технологии модульного программирования. |
|
подпрограмм и |
|
|
Модульное программирование предполагает |
|
некоторым «внутренним» |
||
|
переменным) запрещен. |
|||
выделение групп подпрограмм, использующих одни и |
||||
|
|
|||
те же глобальные данные, в отдельно |
|
|
|
|
компилируемые модули (библиотеки подпрограмм), |
|
|
|
|
например, модуль графических ресурсов, модуль |
|
|
|
|
подпрограмм вывода на принтер и т.п. |
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
7 |
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
8 |
Кафедра |
|
Кафедра |
Объектно-ориентированное |
|
||
информатики Cтруктурное программирование |
УГАТУ |
информатики |
программирование |
УГАТУ |
||
|
|
|
|
|
|
|
В основу структурного программирования были положены три вида |
|
Объектный подход к программированию. Третий этап |
|
|||
|
вычислительного процесса: линейный, разветвленный и циклический, |
|
||||
|
|
развития технологии программирования – с |
|
|||
|
которые реализуются в программах с помощью шести конструкций: |
|
|
|||
|
|
середины 80-х до конца 90-х годов ХХ века. |
|
|||
- |
Следование: последовательное выполнение действий; |
|
|
|
||
|
|
|
|
|
||
- |
Ветвление: выбор одного из двух вариантов действий; |
|
Объектно-ориентированное программирование |
|
||
- |
Выбор: выбор одного варианта из нескольких в зависимости |
|
|
определяется как технология создания сложного |
|
|
|
|
программного обеспечения, основанная на |
|
|||
|
от значения некоторой величины; |
|
|
|
||
- Цикл – «Пока»: повторение действий, пока не будет нарушено |
|
|
представлении программы в виде совокупности |
|
||
|
некоторое условие, выполнение которого проверяется в начале цикла; |
|
объектов, каждый из которых является экземпляром |
|
||
- Цикл – «Дo тех пор пока не»: повторение действий до тех пор пока не |
|
определенного типа (класса), а классы образуют |
|
|||
|
иерархию с наследованием свойств. |
|
||||
|
выполнится заданное условие, проверка которого осуществляется |
|
|
|||
|
после выполнения действий в цикле; |
|
Взаимодействие программных объектов в такой |
|
||
- Цикл с заданным числом повторений (цикл с параметром, цикл со |
|
|||||
|
системе осуществляется путем передачи сообщений. |
|||||
|
счетчиком): повторение некоторых действий указанное количество раз. |
|
||||
Структурное программирование называют еще «программирование без go to». |
|
|
|
|
||
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
9 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
10 |
Кафедра |
|
Кафедра |
Компонентный подход и |
|
||
информатики |
|
информатики |
|
|
||
|
Объектно-ориентированное программирование |
|
|
CASE-технологии |
|
|
|
|
УГАТУ |
|
|
УГАТУ |
|
|
|
|
|
|
|
|
Основным достоинством |
|
Компонентный подход и CASE-технологии. Четвертый |
|
|||
|
|
этап развития технологии программирования – |
|
|||
объектно-ориентированного |
|
|
|
|||
программирования по сравнению с |
|
|
(с середины 90-х годов XX до нашего времени) |
|
||
модульным является «более |
|
|
предполагает построение программного обеспечения |
|||
естественная» декомпозиция |
|
|
||||
|
|
из отдельных компонентов - физически отдельно |
|
|||
программного обеспечения. |
|
|
|
|||
Объектный подход предлагает |
|
|
существующих частей программного обеспечения, |
|
||
новые способы организации |
|
|
которые взаимодействуют между собой через |
|
||
программ и позволяют |
|
|
|
|||
|
|
стандартизованные интерфейсы. |
|
|||
конструировать сложные |
|
|
|
|||
объекты из сравнительно |
|
|
|
|
|
|
простых. |
|
В отличие от обычных объектов объекты-компоненты |
|
|||
|
|
|
|
можно собрать в динамически вызываемые |
|
|
Архитектура программы при ООП: |
|
|
библиотеки или исполняемые файлы, |
|
||
|
|
|
|
распространять их в двоичном виде (без исходных |
|
|
|
|
|
|
текстов) и использовать в любом языке |
|
|
Object Pascal (Delphi), C++ , Visual Basic, |
|
|
программирования, поддерживающем |
|
||
Java |
|
|
соответствующую технологию. |
|
||
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
11 |
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
12 |
Кафедра |
|
Кафедра |
Объекты Windows |
|
информатики |
|
информатики |
|
|
|
УГАТУ |
|
УГАТУ |
|
Основные понятия объектно- |
|
В ОС Windows приложения, папки, документы, окна, кнопки, |
|
|
|
и др. рассматриваются как объекты. |
|
||
ориентированного |
|
Все объекты имеют определенные свойства, и над ними могут |
||
программирования |
|
проводиться определенные операции. Например, |
|
|
|
документы имеют определенный объем, их можно |
|
||
|
|
копировать, перемещать, переименовывать. Окна имеют |
|
|
|
|
размеры, их можно изменять. Папки можно открыть, |
|
|
|
|
копировать, переносить, переименовывать. |
|
|
|
|
Хотя каждый из этих объектов имеет разные свойства, с ними |
||
|
|
можно производить различные действия, технология работы |
||
|
|
с объектами и интерфейс универсальны. Это позволяет |
|
|
|
|
пользователю достичь единообразия при работе с разными |
||
|
|
объектами. |
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
13 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
14 |
Кафедра |
|
Кафедра |
|
|
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
|
|
|
|
||
Компоненты (элементы управления) – стандартные |
|
|
|
|
объекты, используемые ОС для ввода разного рода |
|
Диалоговые окна. (DialogBox, Dialog) Используются для проведения |
||
информации. |
|
настроек и задания различных параметров. В диалоговых окнах |
|
|
|
|
содержатся разнообразные элементы управления. |
|
|
Меню (Menu). Это набор всевозможных команд, из которых надо |
|
Вкладки (Tab). В диалоговом окне может быть так много элементов |
||
выбрать одну. Меню представляет собой перечень команд, из |
|
|||
|
управления, что они в нем не поместятся. В таких случаях окно |
|
||
которых необходимо сделать выбор. Выбор команды |
|
|
||
|
составляют из нескольких страниц-вкладок. У вкладок есть |
|
||
|
|
|
||
осуществляется кнопкой мыши и щелчком. Обычно это |
|
корешки. Чтобы открыть другую страницу диалогового окна, надо |
||
|
|
|||
приводит к выполнению определенной команды. |
|
просто щелкнуть на ее корешке левой кнопкой мыши. |
|
|
Все меню обладают общими свойствами: могут иметь несколько |
Надпись (Label). Обычное текстовое сообщение, которое |
|
||
уровней (меню, подменю), могут иметь недоступные для |
|
|
||
|
пользователь может прочитать, но не может изменить. Сама |
|
||
|
|
|
||
выполнения пункты (блеклые), могут иметь пункты, при выборе |
|
надпись ничем не управляет, но помогает пользователю |
|
|
которых открываются диалоговые окна (эти пункты имеют |
|
управлять программой. |
|
|
названия, которые оканчиваются многоточием). |
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
15 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
16 |
Кафедра |
|
|
|
Кафедра |
|
|
|
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
||||
|
|
|
|
|
|
||
Командная кнопка (Button). При ее нажатии исполняется некая |
|
Окна. Существуют два типа окон – окна приложений и окна |
|
||||
|
документов. |
|
|
|
|||
команда. Для работы с кнопками используют мышь. Простой |
|
|
|
|
|||
|
|
|
|
|
|||
щелчок мышью используют для работы с элементами |
|
В окнах приложений выполняются любые запущенные на |
|
||||
управления, двойной щелчок – для работы с объектами |
|
выполнение программы или отражается содержимое папки. |
|
||||
(значками и папками). Щелчок правой (дополнительной) кнопкой |
Открыть или закрыть окно приложений – то же, что запустить |
|
|||||
мыши применяется для доступа к свойствам объектов, при этом |
|
программу на выполнение или завершить ее. Эти окна можно |
|
||||
раскрывается контекстное меню. |
|
|
перемещать, сворачивать и разворачивать. |
|
|||
Стандартные командные кнопки. Автор программы может |
|
Окна документов предназначены для работы с документами и |
|
||||
создавать любые командные кнопки, но есть несколько |
|
«живут» внутри окон приложений. Их также можно раскрывать, |
|
||||
общепринятых кнопок: OK (для ввода сделанных настроек и |
|
закрывать, сворачивать, перемещать, но они всегда остаются в |
|
||||
закрытия диалогового окна), ПРИМЕНИТЬ (чтобы сохранить |
|
пределах окна своего приложения. Окно документа всегда |
|
||||
настройки, но не закрывать окно), ОТМЕНА ( для отмены всех |
|
содержит заголовок (имя документа), а также часто полосы |
|
||||
сделанных настроек и закрытия окна). |
|
|
прокрутки и линейки. |
|
|
||
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
17 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
18 |
Кафедра |
|
|
|
Кафедра |
|
|
|
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
||||
|
|
|
|
|
|
||
Поле ввода (TextBox). Позволяет вводить текстовую информацию. |
Флажки (Checkbox). Это элементы управления, имеющие два |
|
|||||
|
|
|
|
|
|||
Этот элемент управления называют текстовым полем. |
|
состояния. Они позволяют пользователю делать нужный выбор |
|
||||
|
|
|
|
|
|||
Списки (ListBox) представляют собой набор предлагаемых на выбор |
параметров. Флажки можно использовать группами, тогда они |
|
|||||
значений. |
|
|
|
позволяют выбрать несколько вариантов из одного списка. |
|
||
Раскрывающийся список (ComboBox). Список, у которого есть |
|
Раскрывающийся список не дает такой возможности. |
|
||||
|
|
|
|
|
|||
раскрывающая кнопка (в виде треугольной стрелочки). Если по ней |
Переключатели (Option). Похожи на флажки, тоже имеют два |
|
|||||
щелкнуть, раскроется список, в котором выбирается нужное |
|
состояния – включено, выключено. Но один из переключателей |
|
||||
значение. Списки делают раскрывающимися исключительно для |
включен всегда. Когда включается другой переключатель, |
|
|||||
компактности. |
|
|
|
предыдущий выключается. |
|
|
|
Кнопки счетчика. Данные в текстовые поля обычно вводят с |
|
Контекстное меню. У каждого объекта есть индивидуальные свойства |
|||||
помощью клавиатуры, но если это числовые данные, то удобно |
|
( к примеру, названия, значки и др.).Если щелкнуть правой кнопкой |
|||||
пользоваться кнопками счетчика. Это пара кнопок в виде стрелок. |
мыши по свободному месту Рабочего стола, раскроется |
|
|||||
Щелчок по верхней кнопке увеличивает, а по нижней – уменьшает |
контекстное меню. Оно содержит команды, относящиеся именно к |
||||||
значение. |
|
|
|
тому объекту, на котором произошел щелчок. |
|
||
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
19 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, |
семестр 2, 2009 г. |
20 |
Кафедра |
|
|
Кафедра |
Объекты Windows |
|
информатикиОсновные компоненты (объекты) Windows |
УГАТУ |
информатики |
УГАТУ |
||
|
|
|
В программировании дружественными по отношению к |
|
|
|
|
|
пользователю называют программы, которые просты в |
|
|
Движок (ползунок) (Slider). Его перемещают методом |
|
работе и понятны с первого взгляда. |
|
||
|
перетаскивания при нажатой левой кнопке. Позволяет плавно |
|
Работая с такими приложениями, пользователь может |
|
|
|
изменять значение параметра (например громкость). |
|
|
||
|
|
предугадать, что будет, если он выполнит то или иное |
|
||
|
|
|
|
||
Полоса прокрутки (Scrollbar). Если в окне содержится так много |
|
действие, например, щелкнет по какой-нибудь кнопке. |
|
||
|
данных, что они в него не помещаются, в окне образуются |
|
Простейшая дорога к дружественному программированию |
|
|
|
полосы прокрутки, с помощью которых можно «прокручивать» |
|
лежит через стандартизацию. |
|
|
|
содержимое окна. |
|
Если все программы имеют одинаковые элементы |
|
|
|
|
|
|
||
|
|
|
управления, то пользователи, освоившие одну программу, |
||
|
|
|
могут легко осваивать и другие. |
|
|
|
|
|
Для создания пользовательского интерфейса современных |
||
|
|
|
Windows – приложений используются выше |
|
|
|
|
|
перечисленные компоненты - объекты Windows. |
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
21 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
22 |
Кафедра |
Объектно-ориентированное |
|
Кафедра |
ООП |
|
информатики |
|
информатики |
|
||
|
программирование (ООП) |
УГАТУ |
|
УГАТУ |
|
|
|
|
|
|
|
Объектно-ориентированное программирование (ООП) – |
Основная идея объектно-ориентированного |
|
|||
|
это методика разработки программ, в основе которой |
|
|||
|
программирования – стремление связать данные и |
|
|||
|
лежит понятие объекта, т.е. главной отправной |
|
|
||
|
|
обрабатывающие их подпрограммы в единое целое – |
|||
|
точкой при проектировании программы является |
|
|||
|
|
объект. |
|
|
|
|
объект, а не процедура, не действие. |
|
|
|
|
|
|
|
|
|
|
Задача, решаемая с использованием методики ООП, |
|
ООП можно рассматривать как модульное |
|
||
|
программирование нового уровня, когда вместо |
|
|||
|
описывается в терминах объектов и операций над |
|
|
||
|
|
случайного, механического объединения подпрограмм |
|||
|
ними. Программа при таком подходе представляет |
|
|||
|
|
и данных акцент делается на их смысловую связь. |
|
||
|
собой набор объектов и связей между ними. |
|
|
||
|
|
|
|
|
|
Программа, состоящая из отдельных объектов, |
|
Преимущества ООП в полной мере проявляются при |
|
||
|
разработке сложных программ. |
|
|||
|
отлично приспособлена к реагированию на |
|
|
||
|
|
|
|
|
|
|
события, происходящие в ОС. |
|
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
23 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
24 |
Кафедра |
|
Классы объектов |
|
Кафедра |
|
Классы объектов |
|
информатики |
|
информатики |
|
||||
|
|
УГАТУ |
|
|
УГАТУ |
||
Основополагающим понятием в объектно- |
Каждый конкретный класс имеет свои особенности |
|
|||||
ориентированном программировании |
|
|
поведения и характеристики, определяющие этот |
|
|||
|
|
класс. |
|
||||
|
|
|
|
|
|
||
является класс. |
|
Классы имеют иерархическую структуру. Наивысший |
|
||||
|
|
|
|
|
|||
|
|
|
|
|
уровень структуры – самый общий и самый простой, |
||
Класс (class) – это структура, которая |
|
|
каждый последующий уровень более специфический |
||||
|
|
и менее общий. |
|
||||
объединяет данные и механизмы их |
|
Если характеристика уже однажды определена для |
|
||||
обработки. |
|
|
более высокого уровня, то все уровни, |
|
|||
|
|
|
|
|
расположенные ниже имеют ту же характеристику. |
|
|
|
|
|
|
|
Таким образом, классы-наследники могут |
|
|
|
|
|
|
|
наследовать характеристики классов-родителей. |
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
25 |
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
26 |
Кафедра |
|
Классы объектов |
|
Кафедра |
|
Классы объектов |
|
информатики |
|
информатики |
|
||||
|
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
|
Класс в ООП выступает в качестве объектного типа |
|
||
Экземпляры класса могут иметь отличающиеся |
|
|
данных, а объект – это конкретный экземпляр |
|
|||
|
значения свойств и операций, которые можно |
|
|
класса. |
|
||
|
выполнять с ними. |
|
Названия всех классов, используемых, например, в |
|
|||
|
|
|
|
|
|||
Например, файловая система компьютера может |
|
Delphi (Lazarus), в соответствии с принятыми |
|
||||
|
содержать сотни и тысячи файлов. Все файлы |
|
соглашениями о присвоении имен, начинаются с |
|
|||
|
|
английской буквы T (от слова «Туре» – «тип»), |
|
||||
|
обладают одним и тем же набором свойств |
|
|
||||
|
|
например, Tform – класс форм, TButton – класс |
|
||||
|
(имя, положение в файловой системе и др.) и |
|
|
||||
|
|
командных кнопок. |
|
||||
|
операций (переименование, перемещение или |
|
|
||||
|
|
|
|
|
|
||
|
копирование и др.) и образуют класс объектов |
|
Каждый объект класса в ООП обладает набором |
|
|||
|
Файлы. |
|
|
||||
|
|
свойств, методов (алгоритмов их обработки) , а |
|
||||
|
|
|
|
|
|||
|
|
|
|
также событий, на которые он может реагировать. |
|
||
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
27 |
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
28 |
Кафедра |
|
Свойства (Properties) |
|
Кафедра |
Методы (Methods) |
|
||
информатики |
|
информатики |
|
|||||
|
|
УГАТУ |
|
УГАТУ |
||||
|
|
|
|
|
Метод (Method) – это объявленная в классе функция или |
|||
Свойства – параметры объекта, которые определяют |
|
процедура, которая используется для работы с полями и |
||||||
внешний вид и поведение объекта, выделяют |
|
свойствами.В отличие от обычных подпрограмм метод |
||||||
|
обрабатывает поля именно того объекта, который вызвал |
|||||||
уникальные особенности каждого экземпляра |
|
|||||||
|
метод. Поэтому обрабатываться будут данные именно |
|||||||
класса. К ним относятся, например, имя, значение, |
|
|||||||
|
того объекта, который вызвал метод. |
|
||||||
цвет, размер и др. |
|
|
||||||
|
|
|
|
|||||
Состояние – совокупность всех свойств данного |
|
Метод – это некоторое действие (операция), которое можно |
||||||
|
выполнять над данным объектом, или команда, которую |
|||||||
объекта. |
|
|
||||||
|
|
может выполнять объект. В результате этого действия в |
||||||
Для обращения к свойствам объекта используются |
|
объекте что-нибудь меняется (например, местоположение, |
||||||
|
цвет, значение поля и др.). |
|
||||||
составные имена, содержащие имя объекта в качестве |
Для каждого класса объектов имеется свой перечень |
|
||||||
префикса (перед точкой): |
|
|
||||||
|
методов, которые можно к нему применить или которые он |
|||||||
|
|
|
|
|
||||
<Имя объекта>.<Имя поля>:= <Выражение> |
|
может выполнить. Например, объект можно удалить с |
|
|||||
|
|
|
|
|
экрана, на объекте можно что-нибудь напечатать и т.д. |
|||
Кафедра |
|
|
Методы (Methods) |
|
Кафедра |
События (Events) |
|
|
информатики |
|
|
информатики |
|
||||
|
|
|
УГАТУ |
|
УГАТУ |
|||
Доступ к методам, как и к полям, возможен с помощью |
|
События – сигналы, формируемые внешней средой, на |
|
|||||
|
которые объект должен отреагировать |
|
||||||
|
составных имен, содержащих имя объекта в качестве |
|
||||||
|
соответствующим образом. |
|
||||||
|
префикса: |
|
|
|
||||
|
|
|
|
|
|
|||
<Имя объекта>.<Имя метода> [ (<Список параметров>) ] ; |
События наступают в результате: |
|
||||||
- каких-либо действий пользователя (перемещен курсора, |
||||||||
|
|
|
|
|
||||
|
|
|
|
|
нажата кнопка мыши или клавиша на клавиатуре), |
|
||
Согласно принципам ООП (рассмотрим далее), |
|
- работы аппаратуры компьютера (например, сбой или |
|
|||||
|
неисправность), |
|
||||||
обращаться к свойствам класса можно только через |
|
|
||||||
|
- работы программ (например, возникновение ошибок: |
|
||||||
его методы. |
|
|
|
|||||
|
|
деление на нуль, вычисление квадратного корня из |
|
|||||
|
|
|
|
|
|
|||
|
|
|
|
|
отрицательного числа и др.) и т.д. |
|
||
Примечание. Некоторые методы могут вызываться и |
|
- работы самих объектов и т.д. |
|
|||||
|
без создания объекта, это – методы класса. |
|
При наступлении события генерируется сообщение |
|
||||
|
|
|
|
|
|
|||
|
|
|
|
|
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
32 |
Кафедра |
События (Events) |
|
Кафедра |
События (Events) |
|
информатики |
|
информатики |
|
||
|
УГАТУ |
|
УГАТУ |
||
При возникновении события и сообщения о нем |
|
|
|
|
|
производится его обработка с помощью обработчика |
|
Cреда Windows и написанные для нее программы |
|
||
событий. |
|
управляются событиями. Таких событий в ОС сотни, |
|||
Как правило, обработка события приводит к изменению |
|
и написать программу для Windows – значит |
|
||
свойств объекта. |
|
определить и описать реакцию на те из них, которые |
|||
Обработчики событий могут обращаться к методам и |
|
могут возникнуть при работе с этой программой. |
|
||
свойствам объекта. |
|
|
|
|
|
Для каждого конкретного объекта определено множество |
|
Типовых событий, используемых при создании |
|
||
событий, на которые он может реагировать. |
|
|
|||
|
приложений при объектно-ориетированном подходе к |
||||
Соответственно, для конкретного объекта могут быть |
|
||||
|
программированию значительно меньше, чем в |
|
|||
определены обработчики событий, которые и определяют |
|
||||
операционной среде Windows. |
|
||||
реакцию данного объекта на событие. Например, можно |
|
||||
определить реакцию на событие OnClick - нажатие на |
|
|
|
|
|
клавишу мыши или DoubleClick - двойной щелчок. |
|
|
|
|
|
Информатика ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
33 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
34 |
|
Кафедра |
Основные принципы ООП |
|
Кафедра |
Инкапсуляция |
|
информатики |
УГАТУ |
информатики |
УГАТУ |
||
|
|
|
Инкапсуляция – связывание данных с обрабатывающими |
||
Объектно-ориентированное программирование |
|
эти данные подпрограммами в единое целое – объект. |
|||
|
При этом внутренние детали объекта могут быть скрыты |
||||
базируется на трех основных принципах: |
|
||||
|
(encapsulation – герметизация). |
|
|||
- |
инкапсуляция, |
|
|
||
|
|
|
|
||
- |
наследование |
|
Доступ к изменению свойств осуществляется только с |
|
|
- |
полиморфизм. |
|
помощью методов, присущих данному классу объектов. |
||
|
|
|
Если есть метод, то данное свойство данного объекта |
||
Программа, построенная по этим принципам, есть |
|
можно изменить, нет метода – нельзя. |
|
||
|
|
|
|
||
совокупность объектов и способов их |
|
Для обеспечения инкапсуляции класс не должен |
|
||
взаимодействия, при этом обмен информацией между |
|
||||
позволять прямого доступа к своим данным. |
|
||||
объектами происходит посредством сообщений. |
|
|
|||
|
Методы как бы «окружают» свойства объекта, говорят, что |
||||
|
|
|
|||
|
|
|
свойства «инкапсулированы» в объект. |
|
Кафедра |
Наследование |
|
Кафедра |
Полиморфизм |
|
|
информатики |
|
информатики |
|
|||
|
УГАТУ |
|
УГАТУ |
|||
Наследование (Inheriting) означает, что если надо |
|
Полиморфизм (имеющий много форм). К объектам разных |
||||
|
классов можно применять один и тот же метод, но |
|
||||
создать новый класс, лишь немного отличающийся от |
|
|||||
действовать этот метод для разных объектов может по- |
||||||
имеющегося, то нет необходимости в переписывании |
||||||
разному. |
|
|
||||
уже существующих полей и методов. |
|
|
|
|||
|
|
|
|
|||
Имеющийся класс называют предком или родительским |
Например, к большинству объектов в Windows и в MSOffice |
|||||
можно применять одни и те же методы: копирование, |
|
|||||
классом, новый класс называют потомком или |
|
|
||||
|
перемещение, переименование, удаление и т.п. Однако, |
|||||
дочерним классом. |
|
|||||
|
механизмы реализации этих методов для разных |
|
||||
|
|
|
|
|||
Наследование определяет отношение между классами: |
классов (файл в Windows и документ Word) |
|
||||
объекты класса-наследника обладают всеми |
|
неодинаковы. |
|
|||
свойствами и методами объектов класса-родителя. |
Полиморфизм – возможность использования одних и тех |
|||||
В класс-потомок можно добавить новые поля, методы и |
||||||
же методов для объектов разных классов, но |
|
|||||
свойства. |
|
|
|
|||
|
|
реализация этих методов может быть индивидуальной |
||||
|
|
|
для каждого класса. |
|
||
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
37 |
Информатика |
ФАП - 2, ФАТС – 2, 3 курс 1, семестр 2, 2009 г. |
38 |
|
Кафедра |
Полиморфизм |
|
Кафедра |
|
|
|
информатики |
|
информатикиСобытийный механизм управления |
||||
|
УГАТУ |
|
|
УГАТУ |
||
|
|
|
В соответствии с тем, что для каждого объекта в опреционной системе |
|
||
Полиморфизм – это свойство классов решать схожие по |
определен перечень относящихся к нему событий, реакцию на событие |
|||||
при создании приложений под Windows можно запрограммировать, т.е. |
||||||
смыслу проблемы разными способами. Другими |
|
написать свои процедуры обработки событий или по-другому |
|
|||
словами: полиморфизм – это способность объектов |
|
событийные процедуры. |
|
|||
|
|
|
|
|||
выбирать внутреннюю процедуру (метод), на основе |
|
Для этого, сначала выбирают объект – элемент управления |
|
|||
|
пользовательского интерфейса, для которого будет записана программа |
|||||
данных, принятых в сообщении. Это свойство дает |
|
|||||
|
его действий. Далее вызывают список событий для выбранного объекта, |
|||||
возможность называть разные алгоритмические |
|
|||||
|
при совершении которых над объектом будет выполняться записанная |
|||||
действия одним именем. |
|
программа, и выбирают подходящее событие. |
|
|||
Каждый объект может реагировать по-своему на одно и |
|
В заголовке каждой событийной процедуры указывается имя объекта, для |
||||
|
которого написана процедура и название выбранного события, в скобках |
|||||
то же сообщение. Напримep, команда Print будет по- |
|
|||||
|
после имени процедуры записываются ее параметры, которые могут и |
|||||
разному воспринята черно-белым или лазерным |
|
отсутствовать. |
|
|
||
принтером. |
|
|
В событийной процедуре может участвовать несколько объектов. Например, |
|||
|
|
|
само событие происходит с первым объектом, в результате второй |
|
||
|
|
|
объект изменяет значение своего свойства, а третий – реализует какой- |
|||
|
|
|
либо метод. |
|
|