Обучение и контроль с использованием ИТ
рограммирование становится простым, наглядным и
превосходным средством разрешения многих проблем, которые доставляют
неприятности традиционному программному обеспечению.
Объекты моделируют характеристики и поведение элементов мира, в
котором мы живем. Они являются окончательной абстракцией данных. Объекты
содержат вместе все свои характеристики и особенности поведения.
Не менее важным является и тот факт, что объекты могут наследовать
характеристики и поведение того, что мы называем порождающие,
родительские объекты (или предки). Здесь происходит качественный скачок:
наследование, возможно, является сегодня единственным самым крупным
различием между обычным программированием на Паскале и объектно-
ориентированным программированием в Borland Pascal.
Объектно-ориентированное программирование большой степени является
процессом построения генеалогического дерева для структур данных. Одной
из важных особенностей, которые объектно-ориентированное программирование
добавляет традиционным языкам типа Паскаль, является механизм, с помощью
которого типы данных могут наследовать характеристики более простых, более
общих типов. Этим механизмом является наследование.
В терминах Паскаля, объект во многом схож с записью, которая является
оболочкой для объединения нескольких связанных элементов под одним именем.
Предположим, вы хотите разработать программу вывода платежной ведомости,
печатающую отчет и показывающую, сколько нужно выплатить каждому
служащему за рабочий день. Запись можно организовать следующим образом:
TEmployee = record
Name: string[25];
Title: string[25];
Rate: Real;
end;
Здесь TEmployee является типом записи, т.е. шаблоном, используемым
компилятором для создания переменных типа запись. Переменная типа
TEmployee является экземпляром этого типа.
Этот процесс, с помощью которого один тип наследует характеристики
другого типа, называется наследованием. Наследник называется порожденным
(дочерним) типом, а тип, которому наследует дочерний тип, называется
порождающим (родительским) типом.
Ранее известные типы записей Паскаля не могут наследовать. Однако
Borland Pascal расширяет язык Паскаль для поддержки наследования. Одним из
этих расширений является новая категория структуры данных, связанная с
записями, но значительно более мощная. Типы данных в этой новой категории
определяются с помощью нового зарезервированного слова object. Тип объекта
может быть определен как полный, самостоятельный тип в манере описания
записей Паскаля, но он может определяться и как потомок существующего
типа объекта путем помещения порождающего (родительского) типа в скобки
после зарезервированного слова object.
Большая часть конструирования объектно-ориентированных прикладных
программ состоит в построении такой иерархии объектов, являющейся
генеалогического дерева объектов в приложениях.
Все возможные типы, наследующие тип TEmployee, называются дочерними
типами типа TEmployee, тогда как THourly является непосредственным
дочерним типом типа TEmployee. Наоборот, TEmployee является
непосредственным родителем типа THourly. Тип объекта (в точности как
подкаталог в DOS) может иметь любое число непосредственных дочерних типов,
но в то же время только одного непосредственного родителя. Как показали
данные определения, объекты тесно связаны с записями. Принципы объектно-
ориентированного программирования требуют, чтобы поля объектов были
исключены из исходного кода, насколько это возможно. Это ограничение
поначалу может показаться спорным и жестким, но оно является только частью
огромной картины объектно-ориентированное программирования.
Одним из важнейших принципов объектно-ориентированного программирования
является то, что программист во время разработки программы должен
думать о коде и о данных совместно. Ни код, ни данные не существуют в
вакууме. Данные управляют потоком кода, а код манипулирует образами и
значениями данных.
Объект осуществляет синхронизацию кода и данных путем совместного
построения их описаний. Реально, чтобы получить значение одного из полей
объекта, необходимо выявить относящийся к этому объекту метод, который
возвращает значение нужного поля. Чтобы присвоить полю значение, необходимо
вызвать метод, который назначает данному полю новое значение.
Имеет смысл определять объекты в модуле посредством типа объекта в
интерфейсной части модуля, а тела процедур и методы объекта - в секции
реализации. Для определения объекта в модуле не требуется никаких
специальных соглашений. [6]
2.2 Особенности визуального программирования.
Приложение Windows - это специальный тип программы PC, которая:
- должна иметь специальный выполняемый формат файла (.EXE);
- работать только с Windows;
- обычно работать в прямоугольном окне на экране;
- при выводе на экран следовать рекомендациям по стандартному
интерфейсу с пользователем;
- может работать одновременно с другими программами Windows
и прочими программами, включая другие экземпляры в саму себя;
- может взаимодействовать и совместно использовать данные с
другими приложениями Windows.
На экране одновременно может находиться несколько окон. Они должны иметь
полный доступ к буферу обмена и к информации большинства приложений
Windows, работающих в то же время. Можно использовать Borland Delphi для
взаимодействия с другими приложениями, работающими под управлением Windows,
используя наиболее современную версию технологии OLE фирмы Microsoft.
Windows основана на архитектуре с управлением по событиям. Это
означает, что весь ввод от пользователя интерпретируется как события.
Когда событием является щелчок кнопкой "мыши" или нажатие клавиши
клавиатуры, то происходит событие, и Windows генерирует сообщение.
Например, если пользователь щелкает левой "мыши", Windows генерирует
сообщение wm_LButtonDown. Если пользователь нажимает клавишу, Windows
генерирует событие wm_KeyDown.
При выборе "мышью" или с помощью клавиатуры Windows интерпретирует все
команды меню и управляющие команды как сообщения wm_Command. Эта
архитектура с управлением по событиям отлично согласуется с объектно-
ориентированным подходом Borland Pascal.
Windows позволяет пользователям выполнять несколько приложений
параллельно, устраняя необходимость использования резидентных в памяти
программ (TSR). В Windows реализована не просто многозадачность. Она
поддержана набором средств и межпроцессорных коммуникаций, таких как буфер
вырезанного изображения Clipboard и динамический обмен данными (DDE).
Windows управляет множеством приложений, ограничивая использование экрана
каждым приложением одной или более прямоугольной областью, которые
называются окнами. Эти окна можно перемещать, изменять их размер и
временно сворачивать в пиктограммы, позволяя пользователю быстро
переключаться от одной задачи к другой.
С точки зрения программиста это означает, что программа не должна
записывать текст или графику непосредственно по экранным адресам, а
должна выводить их в пользовательскую область окна - область внутри рамки
окна. Аналогично, прикладная программа должна использовать память
компьютера совместно с другими приложениями. Хорошо построенное приложение
Windows корректно соблюдает правила Windows работы с экраном и
управления памятью.
Ресурсы представляют собой описания устройств пользовательского
интерфейса приложения Windows: его меню, диалоговых окон, курсоров,
пиктограмм, битовые массивы, строки и командные клавиши. Windows
обеспечивает средства для поддержки этих описаний вне исходного кода
приложения. Ресурсы приложения объединяются с его выполняемым файлом перед
выполнением приложения. Чтобы ограничить использование памяти, приложение
вызывает ресурсы в память только когда они необходимы.
Windows позволяет приложениям, включая программы Borland Pascal,
загружать и освобождать библиотечные модули на этапе компоновки. Эти
модули должны быть записаны в специальном выполняемом формате (EXE),
который называется динамически компонуемой библиотекой (DLL). Часто
эти библиотеки выполняют специальные и сложные задачи, такие как
преобразование форматов файлов. В этом случае программа может применять
DLL как фильтры для экспорта импорта файлов. Кроме того, DLL могут
совместно использоваться группой приложений, что способствует совместному
использованию и экономии памяти.
Буфер вырезанного изображения Clipboard позволяет пользователям
передавать информацию, такую как текст, графику и данные, между
приложениями, между различными частями приложения или в качестве временной
памяти для последующего использования. Например, программа обработки
текста может использовать буфер вырезанного отображения для операций
удаления, копирования и вставки текста.
Объекты с их предопределенным поведением (методами) прекрасно подходят
для задачи ответа на внешние воздействия (сообщения Windows).
ObjectWindows превращает сообщения Windows в вызовы методов Borland Pascal.
Таким образом, с помощью ObjectWindows вы просто определяете метод для
ответа на каждое сообщение, которое вам нужно обрабатывать в программе.
Нап
| | скачать работу |
Обучение и контроль с использованием ИТ |