НачатьНачать бесплатно

Неформальные интерфейсы

Неформальные интерфейсы задают набор методов, которые должны быть определены во всех классах, реализующих данный интерфейс. Ниже приведён класс Supplier, который будет выступать в роли неформального интерфейса. Чтобы класс YogurtSupplier выполнил контракт, установленный интерфейсом Supplier, в нём необходимо определить методы take_order() и make_delivery(). В этом упражнении вы потренируетесь делать именно это.

class Supplier:
  def take_order(self, product_name, quantity):
    pass

  def make_delivery(self, order_id, location):
    pass

Это упражнение является частью курса

Объектно-ориентированное программирование на Python: средний уровень

Посмотреть курс

Инструкции к упражнению

  • В классе YogurtSupplier определите метод take_order(), который добавляет заказ в словарь self.orders.
  • Завершите выполнение контракта интерфейса Supplier, определив метод make_delivery(), который выводит сообщение и удаляет заказ с идентификатором order_id из self.orders.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

class YogurtSupplier:
  def __init__(self):
    self.orders = {}
  
  # Finish defining the take_order() method
  ____:
    self.____[f"{product_name}_{quantity}"] = {
      "product_name": ____, "quantity": ____
    }
  
  # Implement a make_delivery() abstract method
  ____:
    print(f"Delivering order: {order_id} to {location}")
    del ____.____[____]
Редактировать и запускать код