Education 1.1 Help

Задание

Представьте, что вы создаете программу для зоопарка, где различные животные должны издавать звуки в ответ на определенные действия или запросы. Вам нужно реализовать систему, которая использует паттерн Factory Method для создания экземпляров различных животных и их звуков.

Условие

Вы разрабатываете систему для зоопарка. У вас есть несколько видов животных: львы, обезьяны и слоны. Каждый вид животных должен издавать свой уникальный звук (рычание, визг, трубление). Вам нужно создать классы для каждого вида животных и фабрики, которая будет создавать соответствующие экземпляры животных.

Требования:

  1. Создайте абстрактный класс Animal с методом make_sound, который будет абстрактным (не имеет реализации). Этот класс будет базовым для всех видов животных.

  2. Определите классы Lion, Monkey и Elephant, которые наследуются от Animal и реализуют метод make_sound, чтобы каждый вид животного возвращал свой уникальный звук (например, "Рычание!", "Визг!", "Трубление!").

  3. Создайте абстрактную фабрику AnimalFactory с абстрактным методом create_animal, который будет возвращать экземпляр Animal.

  4. Определите конкретные фабрики: LionFactory, MonkeyFactory и ElephantFactory, которые наследуются от AnimalFactory и реализуют метод create_animal, чтобы каждая фабрика создавала соответствующий вид животного (Lion, Monkey или Elephant).

  5. Используйте фабрики для создания экземпляров разных видов животных и вызова их метода make_sound для воспроизведения соответствующих звуков.

Пример использования

lion_factory = LionFactory() monkey_factory = MonkeyFactory() elephant_factory = ElephantFactory() interact_with_animal(lion_factory) # Вывод: Звук: Рычание! interact_with_animal(monkey_factory) # Вывод: Звук: Визг! interact_with_animal(elephant_factory) # Вывод: Звук: Трубление!
Last modified: 12 June 2024