Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

5.5. Полиморфизм

____________________________________________________________________

жения объекта:

Student.Destroy;

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

Destroy – это виртуальный деструктор класса TObject. Поэтому при переопределении деструктора его необходимо объявлять с ключевым словом override, например:

destructor Destroy; override;

В теле самого деструктора необходимо вызывать родительский деструктор

(inherited Destroy). Этим обеспечивается формирование цепочки дест-

рукторов, восходящей к деструктору класса TObject, который и осуществля-

ет освобождение памяти, занятой объектом.

Рекомендуется вместо метода Destroy использовать метод Free. Этот метод вначале проверяет, не является ли текущий объект nil и лишь, затем вызывает метод Destroy. Если объекты создаются в начале работы програм-

мы, а уничтожаются в самом конце, то применение метода Free является са-

мым оптимальным.

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

Более подробные сведения о ООП вы можете почерпнуть из [5] и [6]. Хотя

456

Глава 5 Основы объектно-ориентированного программирования

____________________________________________________________________

в этих книгах материал излагается применительно к

Turbo Pascal и Delphi, тем не менее, вы можете использовать их, особен-

но [6].

Если вы помните, при создании нашего самого первого консольного при-

ложения (см. 2.1.10) Lazarus предложил нам заготовку кода, который мы с вами просто удалили. Тогда нам этот код был совершенно непонятен. Ну а теперь…,

теперь вы можете без труда разобраться с этим кодом! Да-да, Lazarus создал для нас заготовку класса с конструктором и деструктором!

457

Глава 6 Программирование приложений с

графическим интерфейсом

В предыдущих главах мы с вами создавали только консольные приложе-

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

так как позволяют сосредоточиться на существе той или иной конструкции или возможности языка.

Однако, как вы неоднократно имели возможность видеть, интерфейс поль-

зователя был довольно примитивен и скуден. В основном удавалось построить лишь простое меню. Можно, конечно, ценой значительных усилий, создать в консольном приложении и более "приличный" интерфейс. Примером может служить IDE самого компилятора FPC.

Но в настоящее время наибольшую и заслуженную популярность завоева-

ла идея графического интерфейса. Согласно этой идее каждая программа рабо-

тает в своем собственном окне. Управление окнами стандартизовано. Стан-

дартный интерфейс очень удобен для пользователей и значительно облегчает изучение самых разных программных средств. Запустите, например, Word и Excel в Windows или текстовый процессор OpenOffice.org и электронные таб-

лицы OpenOffice.org в Linux. Вы увидите много похожих элементов управления окнами (кнопки, переключатели, меню и т.д.).

Графический интерфейс пользователя, иначе GUI (Graphics User Interface)

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

ботки программного обеспечения последних лет. В дальнейшем мы будем ис-

пользовать как термин "графический интерфейс пользователя", так и термин

458

Глава 6 Программирование приложений с графическим интерфейсом

____________________________________________________________________

"приложение с GUI" или "GUI-приложение".

Рассмотрим вкратце некоторые элементы графического интерфейса.

6.1. Элементы графического интерфейса

Как уже отмечалось, в приложениях с графическим интерфейсом управле-

ние окнами стандартизовано. Практически все окна имеют одни и те же эле-

менты управления. Рассмотрим их на рисунке 6.1. для операционной системы

Windows.

 

 

Бегунок

 

 

Кнопка "Закрыть"

Заголовок

 

Кнопка "Развернуть"

окна

Строка меню

 

 

Кнопка "Свернуть"

 

 

 

 

 

 

 

 

Линейка прокрутки Панель инструментов

Рис. 6.1 Элементы окон Windows

Любое окно имеет строку заголовка в котором указывается имя про-

граммы и имя документа.

459

6.1 Элементы графического интерфейса

____________________________________________________________________

При нажатии кнопки "Свернуть" активное окно уменьшается до размеров значка и помещается на панель задач. Следует иметь в виду, что программа в этом случае продолжает работать, но в свернутом виде. При нажатии кнопки

"Развернуть" окно разворачивается до максимально возможных размеров. При этом кнопка "Развернуть" заменяется на кнопку "Восстановить"

Если щелкнуть по этой кнопке, то окно восстановит свой первоначальный размер. Чтобы закрыть окно, щелкните по кнопке "Закрыть".

Вторая строка окна называется строкой меню. Если щелкнуть по какому – либо пункту, то появится подменю – вертикальное меню в котором можно вы-

брать соответствующие команды.

Панель инструментов позволяет выполнять некоторые действия быстрее,

используя кнопки на панели и не обращаясь к пунктам меню. Кнопки на панели инструментов дублируют некоторые, наиболее часто используемые команды меню.

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

Бегунок показывает относительное положение в документе. Например, ес-

ли бегунок находится вверху линейки прокрутки, то вы находитесь ближе к на-

чалу документа, если внизу, то ближе к концу документа. Можно прокручивать текст и с помощью бегунка. Для этого надо нажать на бегунок мышью и, не от-

пуская двигать бегунок в нужном направлении. Линейки прокрутки бывают вертикальные и горизонтальные.

Меню

В окне каждой программы может находиться строка меню. Это так назы-

ваемое горизонтальное меню. Каждый пункт этого меню состоит в свою оче-

редь из соответствующих подменю – вертикальных меню. Для того чтобы от-

460

Смотрите также:

1 — пак
11 Горм +
113
14
1433
1511
1632
199
204
2714