рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Использование объектов

Работа сделанна в 1999 году

Использование объектов - Курсовая Работа, раздел Программирование, - 1999 год - Объекты Turbo Pascal 7.0 Использование Объектов. Идею Инкапсуляции Полей И Алгоритмов Можно При...

Использование объектов.

Идею инкапсуляции полей и алгоритмов можно применить не только к графическим объектам, но и ко всей прграмме в целом. Ничто не мешает нам создать объект-программу и научить его трм основным действиям инициации Init, выполнению основной работы Run, завершению Done. На этапе инициации экран переволится в графический режим работы и создаются и отображаются графические объекты 100 экземпляров TРoint и по одному экземпляру TLine, TCircle, TRect. На этапе Run осуществляется сканирование клавиатуры и перемещение графических объектов.

Наконец, на этапе Done экран переводится в текстовый режим и завершается работа всей программы. Назовм объект-программу именем TGraphApp и разместим его в модуле GraphApp пока не обращайте внимания на точки, скрывающие содержательную часть модуля позднее будет представлен его полный текст Unit GraphApp Intrface type TGraphApp object Procedure Init Procedure Run Destructor Done end Implementation Procedure TGraphApp. Init end end. В этом случае основная программа будет предельно простой Program GraphObjects Uses GraphApp var App TGraphApp begin App. Init App. Run App. Done end. В ней мы создам единственный экземпляр App объекта-программы TGraphApp и обращаемся к трм его методам.

Создание экземпляра объекта ничуть не отличается от создание экземпляра переменной любого другого типа. Просто в разделе описания переменных мы указываем имя переменной и е тип var App TGraphApp Получив это указание, компилятор зарезервирует нужный объм памяти для размещения всех областей объекта TGraphApp. Чтобы обратиться к тому или иному объектному методу или полю, используется составное имя, причм первым указывается не имя объектного типа, а имя соответствующей переменной App. Init App. Ryn App. Done Переменные объектного типа могут быть статическими или динамическими, т.е. располагаться в сегменте данных статические или в куче динамические.

В последнем случае мы могли бы использовать такую программу Program GraphObjects Uses GraphApp type PGrapgApp TGraphApp var App PGraphApp begin App New PGraphApp, Init App. Run App. Done end Для инициации динамической переменной App используется вызов функции New. В этом случае первым параметром указываеися имя типа инициируемой переменной, а вторым осуществляется вызов метода-конструктора, который нужен для настройки таблицы виртуальных методов.

Такой прим распределение объектов в динамической памяти с одновременной инициацией их ТВМ характерен для техники ООП. Ниже приводится возможный вариант модуля GraphApp для данной учебной прогаммы Unit GraphApp Interface Uses GraphObj const NPoins 100 количество точек type объект-программа TGraphApp object Points array 1 NPoints of TPoint массив точек Line TLine линия Rect TRect прямоугольник Corcle TCircle окружность ActiveObj Integer активный объект Procedure Init Procedure Run Procedure Done Procedure ShowAll Procedure MoveActiveObj dX, dY Integer end Implementation Uses Graph, CRT Procedure TGraphApp. Init Инициирует графический режим работы экрана. Создат и отображает NPoints экземпляров объекта TРoint, а так же экземпляры объектов TLine, TCircle и TRect var D, R, Err, k Integer begin инициируем графику D Detect режим автоматического определения типа графического адаптера InitGraph D, R, tpbgi Инициируем графический режим.

Текстовая строка должна задавать путь к каталогу с графическими драйверами Err GraphResult проверяем успех инициации графики if Err 0 then begin GraphErrorMsg Err Halt end создам точки for k 1 to NPoints do Pointsk. Init Random GetMaxX, Random GetMaxY, Random 151 создам другие объекты Line. Init GetMaxX div 3, GetMaxY div 3, 2GetMaxX div 3, 2GetMaxY div 3, LightRed Circ. Init GetMaxX div 2, GetMaxY div 2, GetMaxY div 5, White Rect. Init 2GetMaxX div 5, 2GetMaxY div 5, 3GetMaxX div 5, 3GetMaxY div 5, Yellow ShowAll показываем все графические объекты ActiveObj 1 первым перемещаем прямоугольник end TGraphApp. Init Procedure TGraphApp. Run выбирает объект с помощью Tab и перемещает его по экрану var Stop Boolean признак нажатия Esc const D 5 шаг смещения фигур begin Stop False цикл спроса клавиатуры repeat case ReadKey of читаем код нажатой клавиши 27 Stop True нажата Esc 9 begin нажата Tab inc ActiveObj if ActiveObj 3 then ActiveObj 3 end 0 case ReadKey of 71 MoveActiveObj -D, -D влево и вверх 72 MoveActiveObj 0, -D вверх 73 MoveActiveObj D, -D впрво и вверх 75 MoveActiveObj -D, 0 влево 77 MoveActiveObj D, 0 вправо 79 MoveActiveObj -D, D влево и вниз 80 MoveActiveObj 0, D вниз 81 MoveActiveObj D, D вправо и вниз end end ShowAll Until Stop end TGraphApp. Run Destructor TGraphApp. Done закрывает графический режим begin CloseGraph end TGraphApp. Done Procedure TGraphApp. ShowAll показывает все графические объекты var k Integer begin for k 1 to NPoints do Pointsk. Show Line. Show Rect. Show Cofc. Show end Procedure TGraphApp. MoveActiveObj перемещает активный графический объект begin case ActiveObj of 1 Rect. MoveTo dX, dY 2 Circ. MoveTo dX, dY 3 Line. MoveTo dX, dY end end end. В реализации объекта TGraphApp используется деструктор Done. Следует иметь в виду, что в отличие от конструктора, осуществляющего настройку ТВМ, деструктор не связан с какими-то специфичными действиями для компилятора слова destructor и procedure синонимы.

Введение в ООП деструкторов носит, в основном, стилистическую направленность просто процедуру, разрушающую экземпляр объекта, принято называть деструктором.

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

В заключении следует сказать, что формалистика ООП в рамках реализации этой технологии в Турбо Паскале предельно проста и лаконична.

Введение лишь шести зарезервированных слов, из которых действительно необходимыми являются три object, constructor, virtual, весьма небольшая плата за мощный инструмент создания совреммнного програмного обеспечения.

– Конец работы –

Эта тема принадлежит разделу:

Объекты Turbo Pascal 7.0

Появление этой идеи было следствием недостаточной изученности алгоритмической стороны вычислительных процессов, стольхарактерной для ранних… Последовательное использование идеи процедурного структурирования программ… По мере прогресса в области вычислительной математики акцент в программировании стал смещаться с процедур в сторону…

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Использование объектов

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Основные принципы ООП
Основные принципы ООП. Объектно-ориентированное программирование основано на трх китах трх важнейших принципах, придающих объектам новые свойства. Этими принципами являются инкапсуляция, наследован

Постановка учебной задачи
Постановка учебной задачи. Знакомство с техникой ООП в этой работе иллюстрируется примерами, объединнными рамками следующей учебной задачи. Требуется разработать программу, которая создат на

Создание объектов
Создание объектов. В Турбо Паскале для создания объектов используется три зарезервированных слова object, constructor, destructor и три стандартные директивы private, public и virtual. Зарез

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги