ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

  • En la clase YogurtSupplier, define el método take_order() para añadir un pedido al diccionario self.orders.
  • Completa el contrato establecido por la interfaz Supplier definiendo un método make_delivery() que imprima un mensaje y elimine del diccionario self.orders el pedido almacenado usando order_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 ____.____[____]
Editar y ejecutar código