Представьте, что вы разрабатываете простую игру, в которой игроки могут выбирать разных персонажей с уникальными способностями и характеристиками. Вы хотите реализовать систему выбора персонажа с помощью паттерна "Фабричный метод", чтобы создавать экземпляры различных классов персонажей в зависимости от выбора игрока.
Ваша задача: реализовать систему выбора персонажа с помощью паттерна "Фабричный метод".
Шаги:
- Опишите базовый класс:
- Назовите его
Character
(Персонаж). - Добавьте в него общие атрибуты и методы, применимые ко всем персонажам (например, имя, здоровье, сила).
- Назовите его
- Создайте классы конкретных персонажей:
- Назовите их, например,
Warrior
(Воин),Mage
(Маг) иRogue
(Разбойник). - Пусть они наследуют от базового класса
Character
. - Добавьте в них уникальные атрибуты и методы, соответствующие их ролям.
- Назовите их, например,
- Реализуйте интерфейс
CharacterFactory
:- Добавьте в него метод
createCharacter(type)
для создания экземпляров конкретных классов персонажей на основе типа персонажа, выбранного игроком (например,WarriorFactory.createCharacter("Warrior")
).
- Добавьте в него метод
- Создайте конкретные фабрики:
- Назовите их, например,
WarriorFactory
,MageFactory
иRogueFactory
. - Реализуйте в них метод
createCharacter
, возвращающий новый экземпляр соответствующего класса персонажа.
- Назовите их, например,
- Используйте систему выбора персонажа:
- Позвольте игроку выбрать тип персонажа.
- Используйте соответствующую фабрику для создания экземпляра выбранного персонажа.
- Демонстрируйте игроку созданного персонажа и его уникальные характеристики.
Примечание:
- Этот пример описывает основную идею использования паттерна "Фабричный метод" для выбора персонажа. Вы можете расширить его, добавив больше элементов, например, выбор оружия или экипировки.