Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка, Евтушенко Г.И..doc
Скачиваний:
1
Добавлен:
22.09.2019
Размер:
352.77 Кб
Скачать

Введение

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

Для построения такой модели необходимо использовать основные принципы ООП:

  1. Инкапсуляция

  2. Наследование

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

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

Инкапсуляция позволяет создавать класс как нечто целостное, имеющее определенную функциональность.

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

TNewClass = class(TOldClass);

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

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

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

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

Описание имитационной модели программы

Рисунок 1. Схема системы для моделирования

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

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

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

Возможные действия пользователя: Пользователь может изменять параметры робота, сохранять и загружать данные таблицы.

Описание разработанной иерархии классов

Проанализировав задачу, можно заметить, что робот состоит из трёх звеньев, каждое из которых зависит от предыдущего. То есть положение звена 2 зависит от звена 1, а положение 3 звена в свою очередь зависит от 2.

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