Задание
Представьте, что вы создаете программу для зоопарка, где различные животные должны издавать звуки в ответ на определенные действия или запросы. Вам нужно реализовать систему, которая использует паттерн Factory Method для создания экземпляров различных животных и их звуков.
Условие
Вы разрабатываете систему для зоопарка. У вас есть несколько видов животных: львы, обезьяны и слоны. Каждый вид животных должен издавать свой уникальный звук (рычание, визг, трубление). Вам нужно создать классы для каждого вида животных и фабрики, которая будет создавать соответствующие экземпляры животных.
Требования:
Создайте абстрактный класс
Animal
с методом make_sound, который будет абстрактным (не имеет реализации). Этот класс будет базовым для всех видов животных.Определите классы
Lion
,Monkey
иElephant
, которые наследуются отAnimal
и реализуют метод make_sound, чтобы каждый вид животного возвращал свой уникальный звук (например, "Рычание!", "Визг!", "Трубление!").Создайте абстрактную фабрику
AnimalFactory
с абстрактным методомcreate_animal
, который будет возвращать экземплярAnimal
.Определите конкретные фабрики:
LionFactory
,MonkeyFactory
иElephantFactory
, которые наследуются отAnimalFactory
и реализуют методcreate_animal
, чтобы каждая фабрика создавала соответствующий вид животного (Lion
,Monkey
илиElephant
).Используйте фабрики для создания экземпляров разных видов животных и вызова их метода make_sound для воспроизведения соответствующих звуков.