Interfaces informales
Las interfaces informales proporcionan un conjunto de métodos que deben definirse en todas las clases que implementen esa interfaz. A continuación tienes una clase llamada Supplier que actuará como interfaz informal. Para que YogurtSupplier cumpla el contrato establecido por la interfaz Supplier, debe definir los métodos take_order() y make_delivery(). En este ejercicio vas a practicar precisamente eso.
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
Este ejercicio forma parte del curso
Programación orientada a objetos intermedia en Python
Instrucciones del ejercicio
- En la clase
YogurtSupplier, define el métodotake_order()para añadir un pedido al diccionarioself.orders. - Completa el contrato establecido por la interfaz
Supplierdefiniendo un métodomake_delivery()que imprima un mensaje y elimine del diccionarioself.ordersel pedido almacenado usandoorder_id.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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 ____.____[____]