ComeçarComece de graça

Interfaces informais

Interfaces informais fornecem um conjunto de métodos que devem ser definidos em todas as classes que implementam essa interface. Abaixo está uma classe chamada Supplier que atuará como uma interface informal. Para que YogurtSupplier cumpra o contrato estabelecido pela interface Supplier, ela deve definir os métodos take_order() e make_delivery(). Neste exercício, você vai praticar exatamente isso.

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

  def make_delivery(self, order_id, location):
    pass

Este exercício faz parte do curso

Programação Orientada a Objetos Intermediária em Python

Ver curso

Instruções do exercício

  • Na classe YogurtSupplier, defina o método take_order() para adicionar um pedido ao dicionário self.orders.
  • Complete o contrato estabelecido pela interface Supplier definindo um método make_delivery() para imprimir uma mensagem e apagar do self.orders o pedido armazenado usando order_id.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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 ____.____[____]
Editar e executar o código