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
Instruções do exercício
- Na classe
YogurtSupplier, defina o métodotake_order()para adicionar um pedido ao dicionárioself.orders. - Complete o contrato estabelecido pela interface
Supplierdefinindo um métodomake_delivery()para imprimir uma mensagem e apagar doself.orderso pedido armazenado usandoorder_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 ____.____[____]