Описание разработанной программы. Управление работой программы и перемещение объектов. Среда разработки – система программирования Borland C++ Builder

Страницы работы

Фрагмент текста работы

универсальный язык  программирования,  задуманный  так, чтобы  сделать программирование более приятным для серьезного программиста.  За исключением второстепенных деталей С++ является надмножеством  языка программирования C.  Помимо возможностей,  которые дает C, С++ предоставляет гибкие и эффективные средства определения новых типов. Используя определения новых типов,  точно отвечающих концепциям приложения,  программист может разделять разрабатываемую программу на легко поддающиеся контролю части. Такой метод построения программ часто называют абстракцией данных.  Информация о типах содержится в некоторых объектах типов,  определенных пользователем. Такие объекты просты и надежны в  использовании  в  тех  ситуациях, когда их тип нельзя установить на стадии компиляции. Программирование с применением таких объектов часто называют объектно-ориентированным. При  правильном использовании этот метод дает более короткие, проще понимаемые и легче контролируемые программы.

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

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

Наследование есть свойство классов порождать своих потомков и наследовать свойства своих родителей. Класс-потомок автоматически наследует от родителя все элементы данных и методы, а также может содержать новые элементы данных и методы и даже заменять методы родителя или модифицировать их.

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


Описание разработанной программы

Разработанная программа выполняет создание (изображение на экране) графических объектов и их перемещение по экрану (изменение координат). Для этого мы создали базовый объект TGraphObj. Этот объект обладает координатами X,Y определяющими местоположение объекта на форме и свойством Visible указывающим на то виден или нет графический объект на форме. Для первоначальной инициализации объекта ввели метод Init(), он задает первоначальные координаты объекта.  Метод Show() устанавливает красный цвет кисти, отображает наш графический объект на форме, вызывая метод Draw() и устанавливает свойство Visible в TRUE. Соответственно метод Hide() устанавливает цвет кисти как и у формы, и затем вызывая метод Draw() прячет объект с экрана, затем устанавливает свойство Visible в FALSE. Метод Move() позволяет передвигать объект по экрану. Реализация данного метода довольно проста: сперва вызывается метод Hide(), который прячет наш объект, затем меняются координаты X и Y на новые, и далее, методом Show() отображается объект на форме уже в новых координатах. Виртуальный метод Draw() служит для отрисовки графического объекта на экране. Т.к. это базовый объект то данная функция пустая, каждый потомок будет реализовывать данный метод по своему. Мы использовали виртуальный метод, чтобы не переписывать в каждом потомке кроме метода Draw() еще и методы Hide(), Show(). Если не использовать виртуальный метод, то потомки при вызове методов Show() и Hide() будут вызывать родительский метод Draw(), а не свой. Для отрисовки данных в задании графических объектов создали три объекта TGraphObj1, TGraphObj2, TGraphObj3. Все они наследованы от базового объекта TGraphObj и отличаются друг

Похожие материалы

Информация о работе