Среда программирования: Turbo Pascal 7.0 (DOS)
Название работы: ЛР 2. Принцип инкапсуляции. Описание класса. Объектно-ориентированное программирование
Вид работы: Лабораторная работа
Тематика работы: Прочие
Объем программы: 3 (по десятибалльной шкале)
Уровень сложности: 6 (по десятибалльной шкале)
Разработчик (автор):
Программист сайта kursovik.com
(письмо автору)
Данная работа написана ЧЕЛОВЕКОМ без использования ИИ
Ключевые слова: ООП, принцип инкапсуляции, инкапсуляция, описание класса, объектно-ориентированное программирование, класс tPoint, инкапсулирующий, свойства и методы точки на плоскости, создать массив из 100 точек, массив из точек, нарисовать точки, точки случайным образом, случайным цветом, объект Точка, класс tPoint, методы класса, метод рисования, метод для каждого объекта, метод с тремя параметрами, генератор случайных чисел, метода рисования Draw, объект класса tPoint, процедура инициализации полей Init, функции GetX GetY, для чтения данных из полей x y, процедуры SetX SetY, для записи данных в поля x y
Функции программы:
Принцип инкапсуляции. Описание класса.
Объектно-ориентированное программирование.
Разработать программу на Turbo Pascal в соответствии с заданием:
Тема: Продолжение темы лаб. работы №1.
Задание:
Сделать защиту полей класса (т.е. работать с полями в основной программе не напрямую, а используя соответствующие методы записи в поле и чтения из поля). Добавить методы движения точек: случайное движение, движение по нажатию клавиш со стрелками.
Рекомендации к выполнению:
Внесите необходимые корректировки в программу лаб. работы №1.
Для работы с полями используйте, например, следующие методы: процедуру инициализации полей Init, функции GetX и GetY для чтения данных из полей x и y, процедуры SetX и SetY для записи данных в поля x и y, а также любые другие методы на Ваше усмотрение.
Приведем пример возможной реализации метода SetX:
Procedure имя класса.SetX(NewX:integer);
begin
x:=NewX;
end;
В программе, если надо, например, присвоить полю x значение 25 то вместо команды x:= 25; запишем вызов метода SetX(25);
Перечисленные методы нам нужны, чтобы не напрямую работать с полем (например, p:=x;), а через соответствующий метод (например, p:=GetX). Возможную реализацию метода инициализации полей Init можно посмотреть в примере 2.4 (§6) конспекта лекций, а методов GetX и GetY – в примере 2.7 (§10).
У метода рисования Draw можно теперь убрать параметры (т.е., например, Mas.Draw;). Перед его вызовом добавьте (конечно же, в цикле) инициализацию (при помощи метода Init) всех 100 объектов, сначала задавая параметры метода инициализации с помощью генератора случайных чисел, а затем вызывая метод с данными параметрами. Таким образом, во все 100 объектов, в поля, например, x и y запишутся какие-то случайные числа – координаты точки (цвет точки задайте аналогично).
Далее вызывайте метод рисования для каждого объекта (Mas.Draw;). Метод рисования можно сделать с одним параметром для передачи ему цвета (тогда параметр цвета надо убрать из метода инициализации), а в основной программе соответствующий фактический параметр задавать с помощью генератора случайных чисел.
Следующий пункт задания: добавить методы движения точек. Посмотрите описание класса tPoint примере 2.4 (§6) конспекта лекций. Чтобы реализовать случайное движение надо координатам в методе движения Move присваивать случайные значения с помощью генератора случайных чисел. Чтобы реализовать движение по нажатию клавиш со стрелками, надо координаты изменять с шагом h в зависимости от того, на какую стрелку нажал пользователь. Как определить какая клавиша была нажата, и как в зависимости от этого изменять координаты можно посмотреть либо в примере 2.8 (§10), либо в примере 2.7 (§10) конспекта лекций в программе GRAFICA, не вдаваясь в подробности описания классов и другие детали.
Предусмотрите возможность выбора режима движения.
Описание (отчет): Нет, но можно заказать его написание
Пояснения к компиляции и запуску программы:
Для работы с программой нужно запустить файл "LAB2.EXE", например, в DosBox.
Пояснения к запуску программы:
Для работы с программой нужно запустить файл "LAB2.EXE", например, в DosBox.
исходники
LAB2
LAB2|
Стоимость ИСХОДНОГО ТЕКСТА программы составляет 1200 руб РФ Продажа каждой работы строго учитывается, у каждой работы есть своя история продаж. |