Объекты и классы. Инкапсуляция
Автор: ValentinaZubkova • Ноябрь 28, 2020 • Лабораторная работа • 1,290 Слов (6 Страниц) • 501 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Факультет автоматизации и информатики
Кафедра администрирования систем управления
Отчет
по дисциплине «Объектно-ориентированное программирование»
Лабораторная работа №1
«Объекты и классы. Инкапсуляция»
Вариант 4[pic 1][pic 2]
Оглавление
- Ключевые понятия …………………………………………………. 3
- Цель работы ………………………………………………………... 3
- Задание кафедры …………………………………………………… 3
- Ход работы
- Подключение необходимых библиотек …………………………. 3
- Создание класса …………………………………………………… 4
- Создание конструктора …………………………………………… 4
- Создание деструктора …………………………………………….. 5
- Реализация метода проверки игрового поля на заполненность … 5
- Реализация метода проверки победного хода …………………… 5
- Горизонтальная проверка ……………………………………… 5
- Вертикальная проверка ………………………………………… 5
- Проверка по диагонали сверху вниз …………………………… 5
- Проверка по диагонали снизу вверх …………………………… 6
- Реализация метода вывода результатов на консоль …………….. 6
- Реализация метода хода системы ……………………………….... 6
- Реализация метода обработки хода игрока ………………………. 7
- Описание функции main() ………………………………………. 8
- Подробное тестирование ……………………………………….. 8
- Выводы ……………………………………………………………… 12
- Контрольные вопросы ……………………………………………… 14
Ключевые понятия: класс, экземпляр класса, механизм инкапсуляции, уровень доступа.
Цель работы: научиться описывать объекты реального мира с использованием классов.
Задание кафедры: используя механизм инкапсуляции, описать объект реального мира. Добавить к имеющимся атрибутам и методам еще по три произвольных пункта.
Методы и свойства объектов реального мира
Объект: игра «Пять в ряд»
Методы: поместить точку цвета Х в позицию Y; проверить победителя.
Ход работы:
- Подключу необходимые библиотеки.[pic 3]
В комментариях подробно распишу, для чего используется каждая библиотека.
Также обозначу стандартное пространство имен для удобного ввода, вывода и использования стандартных команд.
- Создам класс под названием Play. Для определения полей и методов класса использую public, так как большинство методов будет работать как внутри класса, так и в функции main().
Обозначу ход игрока «*», а ход системы – «#». Так же создам все нужные функции для проверок, вывода и описания ходов системы и игрока.
[pic 4]
- Создам конструктор класса Play. В реализации конструктора создам игровое поле, опишу начальные значения исходного массива.[pic 5]
- Сразу же создам деструктор для данного класса.
[pic 6]
- Реализую метод для проверки таблицы на заполненность. После того, как отработает данная функция, игра может прекратиться автоматически, так как таблица полностью заполнится. В противном случае, программа будет работать дальше.
[pic 7]
- Проверю победу одного из игроков (пользователя или системы) по горизонтали, вертикали и двум возможным диагоналям.
Горизонтальная проверка.
[pic 8]
Подробно ход работы метода описан в комментариях к коду.
Вертикальная проверка.
[pic 9]
Проверка по диагонали сверху вниз.
[pic 10]
Проверка по диагонали снизу вверх.
[pic 11]
- Опишу метод вывода игрового поля на консоль.
[pic 12]
- Реализую метод, который отвечает за ход системы.
Для удобства использую готовую функцию rand(), чтобы вычислять значения координат для хода системы. Включу дополнительные проверки допустимости координат.
...