Similar presentations:
Объектно-ориентированное программирование (ООП) на примере игры 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. Спасибо за внимание! Готов ответить на вопросы.
ООП — это мощный инструмент, который помогаетсоздавать сложные и интересные проекты, такие как
видеоигры.
Вопросы?
informatics