Главная страница
Навигация по странице:

  • Федеральное государственное бюджетное образовательное учреждение высшего образования

  • Кафедра информационных технологий и правового регулирования управления Методические указания по курсу Информатика

  • Тема. Основы объектно-ориентированного программирования. Система визуального программирования Borland Delphi . Создание интерфейса программы. Настройка свойств формы (окна).

  • Теоретическая часть. Основные понятия объектно-ориентированного программирования. Классы, объекты, методы, свойства.

  • Основные понятия ООП: Класс

  • Объект

  • Пример многоуровневой классификации.

  • Введение. Основные компоненты интерфейса Borland Delphi .

  • Форма и её основные свойства.

  • Основные свойства формы. Caption

  • Практическая часть. Ход работы.

  • Приложение 1. Рекомендуемая литература.

  • Информатика21-22. Методические указания по курсу Информатика Пятигорск 2020 Лабораторная работа 1


    Скачать 4.27 Mb.
    НазваниеМетодические указания по курсу Информатика Пятигорск 2020 Лабораторная работа 1
    Дата31.03.2022
    Размер4.27 Mb.
    Формат файлаdocx
    Имя файлаИнформатика21-22.docx
    ТипМетодические указания
    #431282
    страница1 из 12
      1   2   3   4   5   6   7   8   9   ...   12


    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    Федеральное государственное бюджетное образовательное

    учреждение высшего образования

    «Российский экономический университет имени Г.В. Плеханова»

    Филиал в г. Пятигорске Ставропольского края

    Кафедра информационных технологий и правового регулирования управления

    Методические указания по курсу

    Информатика

    Пятигорск 2020

    Лабораторная работа № 1.


    Тема. Основы объектно-ориентированного программирования. Система визуального программирования Borland Delphi. Создание интерфейса программы. Настройка свойств формы (окна).
    Основные вопросы:

    • Основные понятия объектно-ориентированного программирования - ООП.

    • Структура проекта в Delphi.

    • Создание формы оконного приложения, задание свойств формы с помощью Инспектора объектов и программным путём с использованием процедуры OnActivate.

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

    Теоретическая часть.

    Основные понятия объектно-ориентированного программирования. Классы, объекты, методы, свойства.
    Структурное программирование - написание программы с использованием нескольких основных структурных единиц: линейная структура, ветвление, циклы. Для укрупнения структурных единиц программы используют­ся подпрограммы (в Pascal процедуры и функции). Написание и отладка программы происходит сверху вниз.
    К середине 90-х годов сформировался новый подход в программировании - объектно-ориентированный. Про­грамма рассматривается не только как последовательность выполняемых команд, но и как набор объектов, у каждого из которых имеются свои заранее определенные свойства. С каждым объектом программы преду­смотрены заранее определенные действия - методы.
    Объектно-ориентированное программирование (ООП) — это методика разработки программ, в основе которой лежит понятие объект. Объект — это некоторая структура, соответствующая объекту реального мира, его по­ведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.
    Преимущество объектного подхода в программировании: логическая простота построения программы. Ко всему прочему, программист практически не ограничен в своих действиях. Он может разрабатывать объекты любого назначения и с любыми свойствами.
    Основные понятия ООП:

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

    • Объект - переменная данного класса.

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

    • Свойства объекта - одна из характеристик объекта. Каждое свойство объекта имеет своё значение. Любое свойство объекта - характеристика объекта, задаваемое в классе объектов. Сам класс содержит описание возможных значений каждого свойства. Само значение свойства задается в программе.


    Пример 1. Схема класса «БИБЛИОТЕКА»


    Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:

    Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:

    Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих за­писей, формирует новый тип данных - объект.

    Инкапсуляция - скрытие внутренней структуры объекта за интерфейсом. То есть извне из всего объекта ви­ден один интерфейс. Тебе не обязательно знать, как устроена машина, чтобы на ней ездить. Класс может быть использован любым другим классом через интерфейс и никакой другой класс (если это особо не огово­рено модификатором доступа "публичный") не может получить доступ к внутренней структуре объекта. Этим термином обозначают скрытие внутреннего устройства объекта. Объект рассматривается как "черный ящик". Известны свойства объекта, то есть доступные извне переменные. Известны методы объекта, то есть доступные извне функции. Но как устроены эти функции, по каким алгоритмам они работают, программисту не сообщается.

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

    Наследование - уточнение структуры родительского класса. Наследующий класс может дополнять родитель­ский методами и полями, сохраняя те, которые унаследовал от него.

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





    Пример многоуровневой классификации.


    Для Родительского класса и любого дочернего подкласса можно выделить характерные свойства, присущие объектам любого подкласса: число вершин (значением данного параметра будет количество вершин для объ­ектов каждого подкласса), число сторон, площадь фигуры. Однако, для каждого подкласса можно выделить и характерные только для объектов данного подкласса свойства и методы. Например, свойством объектов лю­бого подкласса будет площадь фигуры, но методы её вычисления будут разными. Действительно, формулы вычисления площади для объектов класса Треугольники и Трапеции разные.

    Введение. Основные компоненты интерфейса Borland Delphi.

    Среда программирования Borland Delphi является объектно-ориентированной средой. В состав языка Delphi (а, по сути, этим языком является Object Pascal) входят десятки классов с множеством методов и свойств. Все эти классы созданы программистами Borland. Для решения большей части задач по созданию программ этих классов вполне достаточно. По этой причине Delphi является самой эффективной средой программирования с точки зрения скорости создания программы. Однако с точки зрения скорости выполнения программы, соз­данной на Delphi, это далеко не так. Удобство работы программиста происходит за счет скорости выполнения программы, созданной программистом.








    Рис. 1. Палитра компонентов Delphi.

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





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

    Рис. 2. Дерево объектов проекта.


    Инспектор объектов является одним из основных элементов на­стройки элементов программы. Он содержит вкладки со свойствами (Properties) и методами (Events) текущего объекта. Данная панель является динамической, т.е. её состав зависит от выделенного объ­екта.

    Некоторые свойства объектов являются составными. Слева от имени такого свойства расположен символ


    uses

    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;

    type

    TForm1 = class(TForm) private

    { Private declarations } public

    { Public declarations } end;

    var

    Form1: TForm1; implementation

    {$R *.dfm}

    end.

    Любой модуль начинается с заголовка

    unit <имя модуля>;

    Секция интерфейсных объявлений содержит описания программных элементов. Начинается секция служеб­ным словом interface


    Программные элементы - типы, классы, процедуры и функции.

    Секция реализации начинается служебным словом implementation и содержит описания действий проце­дур и функций.

    Терминатором модуля является служебное слово end.

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

    Код пустой формы создается автоматически и называется модулем. Любой модуль состоит из стандартных секций содержит процедуры всех объектов (как визуальных, так и невизуальных), относящихся к данной форме.

    Код пустой формы создается автоматически и называется модулем.
    Сохранение проекта.

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

    Основной файл проекта имеет расширение DPR. В окне кода программы он, как правило, не отображается. Является текстовым файлом и имеет типовой вид:

    program Project1;

    uses Forms

    Unit1 in 'Unit1.pas' {Form1}; {$R*.res} begin

    Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.

    Файлы модулей имеют тип PAS. После компиляции для каждого модуля создается файл с расширением DFM. Файлы важны для проекта и удаление одного из них приведет к невозможности повторной компиляции про­екта. Файл DFM является текстовым и имеет вид:

    object Form1: TForm1 Left = 192 Top = 165 Width = 696 Height = 4 80 Caption = 'Form1' Color = clBtnFace

    Font.Charset = DEFAULT_CHARSET

    Font.Color = clWindowText

    Font.Height = -11 Font.Name = 'MS Sans Serif' Font.Style = []

    OldCreateOrder = False PixelsPerInch = 96 TextHeight = 13 end

    При каждой повторной компиляции проекта создается заново файл ресурсов с расширением RES. В нём хра­нится дополнительная служебная информация о проекте - значок программы, номер версии программы и т.д. Файлы настройки - файлы с настройкой компилятора (CFG), проекта (DOF), среды Delphi (DSK). Редактиро­вать их нежелательно.

    Исполнимый файл проекта (EXE) создается после компиляции проекта. Форма и её основные свойства.

    Форма - это окно программы. В неё можно добавлять визуальные компоненты. Для настройки свойств окна используются свойства формы. Это можно делать на стадии конструирования интерфейса в Инспекторе объ­ектов во вкладке Свойства (Properties) или программно в окне с кодом проекта.

    Основные свойства формы.

    Caption - заголовок окна.

    BorderStyle - определяет стиль рамки (границы) окна и его стиль. Фактически данное свойство определяет тип окна - обычное программное или диалоговое. Подробнее - Приложение 1.

    Форма может быть контейнером для размещения на ней дочерних компонентов. Однако и для самой формы предусмотрено множество стандартных событий, наступление которых может привести к изменению свойств самой формы или её дочерних элементов. Событие - это процедура, код которой выполняется при наступле­нии указанного события. Для начала использования какого-либо события формы или дальнейшего редакти­рования программного кода для этого события можно в Инспекторе объектов во вкладке События дважды щёлкнуть в строке нужного события во втором столбце. При первом использовании этого приёма для любого события создаётся процедура, программный код которой разработчик заполняет самостоятельно. При каждом повторном использовании этого приёма, т.е. при двойном щелчке на имени процедуры в строке события, от­крывается программный код для просмотра и редактирования. Подробный перечень событий - Приложение 1.

    Практическая часть. Ход работы.

    1. Создать новый проект. (Новый проект создаётся автоматически при запуске Delphi или через меню Файл — Новый — Приложение (File — New — VCL Form Application)).

    2. В Инспекторе объектов во вкладке Свойства (Properties) задать следующие свойства формы (окна):




    • Caption - Лабораторная работа 1 - заголовок окна.

    • Height - 600 - высота окна в пикселях. Данное свойство может быть изменено при конструировании формы графически.

    • Width - 450 - ширина окна в пикселях.

    • Color - clMoneyGreen - цвет активного окна.




    1. Запустить программу на исполнение: меню Запуск — Запуск (Run — Run) или клавиша F9. В окне програм­мы попробовать изменить его размер с помощью кнопок управления окном и графическим способом. Завер­шить работу программы.

    2. В Инспекторе объектов последовательно задать в свойствах формы следующее из свойств - BorderStyle - вид оборки окна. Данное свойство позволяет указать стиль окна - обычное программное или диалоговое. Значение по умолчанию - bsSizeable - обычное окно. Возможные другие значения




    • bsDialog - диалоговое. Окно не масштабируется, из кнопок управления окном - только кнопка За­крыть.

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

    • bsSingle - рамка толщиной в 1 пиксел, такое окно не может изменять свои размеры графически, но с помощью кнопок управления оно может быть масштабировано.

    • bsSizeToolwin - диалоговое окно с уменьшенным заголовком, окно может быть масштабировано.

    • bsToolWindow - подобно bsSingle, но с уменьшенным по высоте заголовком.

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

    5. Для данной формы создать процедуру, которая выполняется при активизации формы. Для этого в Инспекторе объектов раскрыть вкладку События (Events) и для события OnActivate дважды щёлкнуть мышью в пустое поле справа. Автоматически в списке событий будет создана процедура FormActivate и откроется окно программного кода для данного модуля.

    Созданная процедура будет иметь вид:

    procedure TForm1.FormActivate(Sender: TObject); begin

    end;
    Весь необходимый программный код этой процедуры должен быть записан между служебными словами begin ... end;

    6. Необходимо программным путём задать некоторые свойства формы.

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

    Настроить свойство для вывода заголовка окна при запуске программы - свойство Caption. Для этого в теле процедуры ввести следующую команду с параметрами:

    FormLCaption := 'Лабораторная работа № 1';

    В данном случае Form1 - имя объекта, Caption - свойство объекта. Символ точки является разделителем ме­жду именем объекта и его свойством. Обычно после ввода точки редактор Delphi выводит подсказку по всем доступным свойствам (Properties), процедурам (Procedure) и функциям (Function), которые можно выбрать из списка после ввода нескольких первых символов имени свойства, процедуры и функции. Кроме того, в под­сказке всегда отображается для свойств и функций тип этого объекта. Например, для свойств Width и Height выводится подсказка Integer. Это означает, что значением данного свойства может быть только число целого типа.

    Задать дополнительно к свойству заголовка в созданную процедуру ввести команды для настройки свойств:

    • ширины окна - 700 пикселей

    • высоты окна - 500 пикселей

    • цвет окна - clCream;

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

    7. К установленным ранее свойствам формы добавить дополнительно:

    • всплывающая подсказка при наведении на него указателя мыши - свойство Hint. Значением данного свойства является текстовая строка. Например:

    Forml.Hint := 'Эта подсказка по форме!';

    Проверить, что, несмотря на установку данного свойства при наведении указателя мыши на окно программы, подсказка всплывать не будет. Для того чтобы «разрешить» подсказке появляться, необ­ходимо задать свойство ShowHint:

    FormLShowHint := True;
    Данное свойство является логическим и может принимать значение либо True, либо False (по умол­чанию).
    8. Для оформления текста программы используйте комментарии - пояснительный текст, который может быть однострочным или многострочным.

    Однострочный комментарий начинается символом двойного слеша // далее текст комментария или коммента­рием может быть любой текст в несколько строк, заключённый в символы фигурных скобок {}. Комментарии позволяют пояснять фрагменты программы или на время выключать из программного кода часть команд.

    Ещё одним вариантом многострочного комментария может быть любой произвольный текст, заключённый в парные символы (* *).

    9. Сохранить данный проект в отдельной папке на диске. При сохранении файла-модуля (файл с типом pas)
    задайте ему имя Module. При сохранении файла-проекта (файл с типом dpr) задайте ему имя lab1.

    Подробнее о свойствах формы и событиях формы - Приложение 1. Рекомендуемая литература.

    1. Фаронов В.В. Delphi. Программирование на языке высокого уровня: Учебник для вузов. - СПб.: Пи­тер, 2005. - 640 с.: ил.

    2. Галисеев Г.В. Программирование в среде Delphi 7. Самоучитель. - М.: Издательский дом «Вильямс», 2004. - 288 с.: ил.

    3. Флёнов М.Е. Библия Delphi. - СПб.: БХВ-Петербург, 2004. - 880 с.: ил.

    4. Боровский А.Н. Программирование в Delphi 2005. - СПб.: БХВ-Петербург, 2005. - 448 с : ил.

    5. Флёнов М.Е. Программирование в Delphi глазами хакера. — СПб.: БХВ-Петербург, 2004. - 368 с.: ил.

    6. М.В. Сухарев. Основы Delphi. Профессиональный подход — СПб.: Наука и Техника, 2004. — 600 с.: ил.


      1   2   3   4   5   6   7   8   9   ...   12


    написать администратору сайта