Объектно-Ориентированное Программирование (ООП) На примере игры Doodle Jump
Что такое ООП?
Первый столп ООП: Инкапсуляция
Второй столп ООП: Наследование
 Третий столп ООП: Полиморфизм
Четвертый столп ООП: Абстракция
 ООП в моем проекте Doodle Jump
Почему ООП — это здорово?
Здесь представлены частички кода из класса doodlick(персонаж который прыгает по платформам) Сейчас я продемонстрирую вам всю
Спасибо за внимание! Готов ответить на вопросы.
1.25M
Category: informaticsinformatics

Объектно-ориентированное программирование (ООП) на примере игры Doodle Jump

1. Объектно-Ориентированное Программирование (ООП) На примере игры Doodle Jump

Выполнил: Гейман Александр
Класс: 8"Г"
Предмет: Информатика
Преподаватель: Ксения Олеговна

2. Что такое ООП?

ООП — это стиль программирования, где программа строится из объектов.
• Объект — как герой в игре. У него есть:
• Свойства (данные): цвет, размер, координаты, скорость.
• Поведение (действия): прыжок, движение, отрисовка на экране.
• Проще говоря: ООП позволяет создавать в программе "сущности"
(персонажей, платформы, врагов), которые ведут себя как реальные объекты.
Почему это удобно? Код становится понятным, его легко изменять и дополнять.

3.

Слайд 3: Главные понятия ООП: Класс и Объект
Класс — это чертёж, а Объект — это готовый предмет по этому чертежу.
• Класс Doodler (Прыгун)
• Чертёж, который описывает:
• Свойства: x, y, image, jump_power
• Методы: jump(), move(), draw()
• Объект my_doodler
• Конкретный прыгун в игре, созданный по чертежу Doodler.
• Его координаты: x=100, y=200
• Он может выполнить действие: my_doodler.jump()
• Аналогия: Чертеж "Стул" (класс) vs. Стул у тебя на кухне (объект).

4. Первый столп ООП: Инкапсуляция

Инкапсуляция — это объединение данных и методов в одном объекте и
сокрытие внутреннего устройства.
• Как в Doodle Jump:
• У нашего прыгуна (Doodler) есть свойство y (высота) и метод jump().
• Мы просто говорим doodler.jump(), и персонаж прыгает.
• Нам не нужно знать, как именно внутри метода jump() пересчитываются
координаты. Это "секрет" объекта.
• Вывод: Инкапсуляция позволяет работать с объектами, не вдаваясь в сложные
детали их реализации.

5. Второй столп ООП: Наследование

Наследование — это возможность создавать новый класс на основе
существующего, перенимая его свойства и методы.
• Как в Doodle Jump:
• У нас есть общий класс Platform (Платформа).
• От него мы можем унаследовать разные типы платформ:
• GreenPlatform — обычная, статичная.
• BluePlatform — движущаяся (добавляется новое свойство speed).
• BrownPlatform — разрушающаяся (добавляется метод break()).
• Вывод: Наследование избавляет от копирования кода и делает его структуру
логичной.

6.  Третий столп ООП: Полиморфизм

Третий столп ООП: Полиморфизм
Полиморфизм — это способность объектов с одинаковым интерфейсом
иметь разную реализацию.
• Как в Doodle Jump:
• У всех платформ есть метод draw(), чтобы нарисовать себя.
• Для GreenPlatform метод draw() рисует зеленый прямоугольник.
• Для BluePlatform метод draw() рисует синий прямоугольник.
• Код игры может просто вызывать platform.draw() для любой платформы, не
задумываясь о её типе. Каждая нарисуется правильно.
• Вывод: Полиморфизм позволяет работать с разными объектами единым
образом.

7. Четвертый столп ООП: Абстракция

Абстракция — это выделение главных, существенных характеристик
объекта и игнорирование незначительных.
• Как в Doodle Jump:
• Создавая класс Monster (Монстр), мы думаем только о том, что важно для игры:
• Свойства: координаты, изображение, урон.
• Методы: движение, столкновение с игроком.
• Нас не интересует, где монстр живет или что он ест на обед. Мы
абстрагируемся от этого.
• Вывод: Абстракция позволяет сосредоточиться на том, что объект делает в
системе, а не на всех его возможных деталях.

8.  ООП в моем проекте Doodle Jump

ООП в моем проекте Doodle Jump
Давайте посмотрим, как эти принципы реализованы в моей игре:
• Класс Doodle: Отвечает за главного героя. Инкапсулирует всю логику его
движения и прыжков.
• Класс Platform: Базовый класс для всех платформ. От него наследуются
классы для разных типов платформ.
• Класс Game: Управляет всем процессом игры: создает объекты, обрабатывает
события, проверяет столкновения (используя полиморфизм).

9. Почему ООП — это здорово?

• Наглядность: Код похож на модель реального мира. Легче понять, что делает
программа.
• Повторное использование: Классы, написанные для одной игры, можно
использовать в другой.
• Упрощение разработки: Над разными классами могут работать разные
программисты.
• Легкость поддержки: Чтобы добавить новую платформу или врага, не нужно
переписывать всю игру, достаточно создать новый класс.

10. Здесь представлены частички кода из класса doodlick(персонаж который прыгает по платформам) Сейчас я продемонстрирую вам всю

игру

11. Спасибо за внимание! Готов ответить на вопросы.

ООП — это мощный инструмент, который помогает
создавать сложные и интересные проекты, такие как
видеоигры.
Вопросы?
English     Русский Rules