Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа П2Б,Г.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.09 Mб
Скачать

Задание: Создать собственный объект с помощью конструкторов и деструкторов и использовать его в программе.

Вариант№1

Объект – овал

  1. Свойства - координаты центра, радиусы, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№2

Объект – ломаная линия ( ^ ).

  1. Свойства – координаты начала и конца, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№3

Объект – прямоугольный треугольник

  1. Свойства - координаты точек, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№4

Объект –круг.

  1. Свойства - координаты начала и конца, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№5

Объект – треугольник равнобедренный, прямоугольный

  1. Свойства - координаты точек, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№6

Объект – прямоугольник

  1. Свойства - координаты точек, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Вариант№7

Объект – квадрат.

  1. Свойства - координаты точек, цвет линии;

  2. Методы – нарисовать, переместить, удалить

Контрольные вопросы:

    1. Как создать объект с помощью конструктора?

    2. Как удалить объект с помощью деструктора?

Лабораторная работа №10 Решение задачи на создание наследника.

Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с принципами создания объектов. Закрепить полученные на лекции знания. Написать и отладить программу

Теория:

Если объект порождается от какого-либо родителя, имя родителя указывается в круглых скобках сразу за словом object.

Type

Имя_потомка = object (имя_родителя)

….

End.

Например: создадим потомка от TPixel – объект TLine? С помощью которого будет рисоваться линия.

Type TLine = object (TPixel)

Procedure Draw (x,y,dx,dy, aColor:integer);

End;

Procedure TLine.Draw;

Begin

SetColor(Color);

Line(x,y,x+dx,y+dy);

End;

Задание: Создать потомка для ранее созданного объекта

Контрольные вопросы:

  1. Как создать объект?

  2. Как породить потомка?

  3. Как использовать методы объекта?

Лабораторная работа №11 Решение задач на перегружаемые и виртуальные методы. - 2 часа

Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с принципами применения перегружаемых и виртуальных методов. Закрепить полученные на лекции знания. Написать и отладить программу

Теория:

В Delphi появилась новая разновидность методов - перегружаемые. Перегрузка нужна для того, чтобы произвести одинаковые или похожие действия над разнотипными данными. Перегружаемые методы описываются с ключевым словом overload. Type tFirstClass=class E:extended; procedure SetData(aValue: Extended); overload; end; tSecondClass=class(tFirstClass) I:integer; procedure SetData(aValue: Integer); overload; end;

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

Для перегрузки виртуального метода используется зарезервированное слово reintroduce: procedure SetData(aValue:string); reintrouce;overload;

На перегрузку методов накладывается ограничение: нельзя перегружать методы, находящиеся в области видимости publi shed.

Задание:

Пусть имеется некое обобщенное поле для хранения данных - класс tFiled и три его потомка - для хранения строк, целых и вещественных чисел:

type tFiled = class function GetData:string; virtual; abctract; end; tStringFiled = class(tFiled) fData:string; function GetData: string; override; end; tIntegerFiled = class(tFiled) fData:Integer; function GetData: string; override; end; tExtendedFiled = class(tFiled) fData:Extended; function GetData: string; override; end; function tStringFiled.GetData: string; Begin Result:=fData; End; function tIntegerFiled.GetData: string; Begin Result:=IntToStr(fData); End; function tExtendedFiled.GetData: string; Begin Result:=FloatToStr(fData,ffFixed, 7, 2); End; function ShowData(aFiled:tFiled): string; Begin Form1.Label1.Caption:=aFiled.GetData; End;

1.На примере показать виртуальный и перегружаемый метод

2. Применить перегружаемый метод над разнотипными данными

Лабораторная работа №12 Знакомство со средой Delphi. - 2 часа

Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с интегрированной средой Delphi. Закрепить полученные на лекции знания.

Теория:

Основные составные части Delphi:

  1. Дизайнер Форм (Form Designer)

  2. Окно Редактора Исходного Текста (Editor Window)

  3. Палитра Компонент (Component Palette)

  4. Инспектор Объектов (Object Inspector)

Стандартные компоненты. На первой странице Палитры Компонент размещены 14 объектов

Задание:

Описать все части интегрированной среды Delphi в тетради. Рассмотреть способы передвижения по окнам. Познакомится с палитрой компонент и инспектором объектов.

Контрольные вопросы:

  1. Основные составные части Delphi ?

  2. Дизайнер Форм (Form Designer)

  3. Окно Редактора Исходного Текста (Editor Window)

  4. Палитра Компонент (Component Palette)

  5. Инспектор Объектов (Object Inspector)

Лабораторная работа №13 Решение задачи на линейные алгоритмы в среде Delphi.

Цель работы: Применение теоретических навыков на практике. Научиться составлять каркас простейшей программы в среде DELPHI. Написать и отладить программу линейного алгоритма.

Закрепить полученные на лекции знания.

Теория:

С реда DELPHI визуально реализуется в виде нескольких одновременно раскрытых на экране монитора окон. Количество, расположение, размер и вид окон может меняться программистом в зависимости от его текущих нужд, что значительно повышает производительность работы. При запуске DELPHI вы можете увидеть на экране картинку, подобную представленной на рис. 1.1.