Процедуры и функции для работы с графическим окном.
procedure ClearWindow; - очищает графическое окно белым цветом.
procedure ClearWindow(c: ColorType); - очищает графическое окно цветом c.
function WindowWidth: integer; - возвращает ширину графического окна.
function WindowHeight: integer; - возвращает высоту графического окна.
function WindowLeft: integer; - возвращает отступ графического окна от левого края экрана.
function WindowTop: integer; - возвращает отступ графического окна от верхнего края экрана.
function WindowCaption: string; - возвращает заголовок графического окна.
procedure SetWindowWidth(w: integer); - устанавливает ширину графического окна.
procedure SetWindowHeight(h: integer); - устанавливает высоту графического окна.
procedure SetWindowLeft(l: integer); - устанавливает отступ графического окна от левого края экрана.
procedure SetWindowTop(t: integer); - устанавливает отступ графического окна от верхнего края экрана.
procedure SetWindowSize(w,h: integer); - устанавливает ширину и высоту графического окна.
procedure SetWindowPos(l,t: integer); - устанавливает отступ графического окна от левого и верхнего края экрана.
procedure SetWindowCaption(s: string); - устанавливает заголовок графического окна.
procedure SetWindowTitle(s: string); - устанавливает заголовок графического окна. Синоним SetWindowCaption.
procedure SaveWindow(fname: string); - сохраняет содержимое графического окна в файл с именем fname.
procedure LoadWindow(fname: string); - выводит в графическое окно рисунок из файла с именем fname. Файл ищется вначале в текущем каталоге, а затем в каталоге PascalABC\Media\Images.
procedure FillWindow(fname: string); - заполняет графическое окно мозаикой из рисунка, содержащегося в файле с именем fname.
procedure FillWindow(n: integer); - заполняет графическое окно мозаикой из рисунка с описателем n.
procedure CloseWindow; - закрывает графическое окно.
function ScreenWidth: integer; - возвращает ширину экрана.
function ScreenHeight: integer; - возвращает высоту экрана.
procedure CenterWindow; - центрирует графическое окно по центру экрана.
procedure MaximizeWindow; - максимизирует графическое окно на экране.
procedure NormalizeWindow; - восстанавливает положение графического окна на экране.
Все размеры устанавливаются и возвращаются в пикселах.
Объектно-ориентированное программирование. Основные понятия.
бъектно-ориентированное программирование (ООП)— это парадигма (совокупность понятий и идей) программирования, в рамках которой «во главу угла» ставят понятия объектов и классов. Сейчас ООП так или иначе присутствует во всех языках, поэтому понимание его основ просто необходимо для всех, кто собираетсязаняться программированием. Стоит сразу определить базовые понятия класса и объекта:
· Класс — это шаблон, описание ещё не созданного объекта. Класс содержит данные, которые описывают строение объекта и его возможности, методы работы с ним;
· Объект — экземпляр класса. То, что «рождено» по «чертежу», то есть по описанию из класса. В качестве примера объекта и класса можно привести технический чертёж для изготовления детали — это класс. Выточенная же на станке по размерам и указаниям из чертежа деталь — объект.
52. Основные принципы объектно-ориентированного программирования.
Основные принципы ООП
Объектно-ориентированное программирование основано на «трех китах» - трех важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследование и полиморфизм.
53. Инкапсуляция
Инкапсуляция есть объединение в единое целое данных и алгоритмов обработки этих данных. В рамках ООП данные называются полями объекта, а алгоритмы - объектными методами.
Инкапсуляция позволяет в максимальной степени изолировать объект от внешнего окружения. Она существенно повышает надежность разрабатываемых программ, т.к. локализованные в объекте алгоритмы обмениваются с программой сравнительно небольшими объемами данных, причем количество и тип этих данных обычно тщательно контролируются. В результате замена или модификация алгоритмов и данных, инкапсулированных в объект, как правило, не влечет за собой плохо прослеживаемых последствий для программы в целом (в целях повышения защищенности программ в ООП почти не используются глобальные переменные).
Другим немаловажным следствием инкапсуляции является легкость обмена объектами, переноса их из одной программы в другую. Можно сказать, что ООП «провоцирует» разработку библиотек объектов, таких как Turbo Vision.
Наследование
Наследование есть свойство объектов порождать своих потомков. Объект-потомок автоматически наследует от родителя все поля и методы, может дополнять объекты новыми полями и заменять (перекрывать) методы родителя или дополнять их.
Принцип наследования решает проблему модификации свойств объекта и придает ООП в целом исключительную гибкость. При работе с объектами программист обычно подбирает объект, наиболее близкий по своим свойствам для решения конкретной задачи, и создает одного или нескольких потомков от него, которые «умеют» делать то, что не реализовано в родителе.
Последовательное проведение в жизнь принципа «наследуй и изменяй» хорошо согласуется с поэтапным подходом к разработке крупных программных проектов и во многом стимулирует такой подход.
Полиморфизм
Полиморфизм - это свойство родственных объектов (т.е. объектов, имеющих одного общего родителя) решать схожие по смыслу проблемы разными способами. В рамках ООП поведенческие свойства объекта определяются набором входящих в него методов. Изменяя алгоритм того или иного метода в потомках объекта, программист может придавать этим потомкам отсутствующие у родителя специфические свойства. Для изменения метода необходимо перекрыть его в потомке, т.е. объявить в потомке одноименный метод и реализовать в нем нужные действия. В результате в объекте-родителе и объекте-потомке будут действовать два одноименных метода, имеющие разную алгоритмическую основу и, следовательно, придающие объектам разные свойства. Это и называется полиморфизмом объектов.
В Турбо Паскале полиморфизм достигается не только описанным выше механизмом наследования и перекрытия методов родителя, но и их виртуализацией (см. ниже), позволяющей родительским методам обращаться к методам потомков.