Aan de slagGa gratis aan de slag

Informele interfaces

Informele interfaces geven een set methoden die in alle klassen moeten worden gedefinieerd die die interface implementeren. Hieronder staat een klasse genaamd Supplier die zal dienen als een informele interface. Om te voldoen aan het contract van de Supplier-interface, moet YogurtSupplier de methoden take_order() en make_delivery() definiëren. In deze oefening ga je dat precies oefenen.

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

  def make_delivery(self, order_id, location):
    pass

Deze oefening maakt deel uit van de cursus

Gevorderde objectgeoriënteerde programmering in Python

Cursus bekijken

Oefeninstructies

  • Definieer in de klasse YogurtSupplier de methode take_order() om een bestelling toe te voegen aan de dictionary self.orders.
  • Maak het contract van de Supplier-interface af door een methode make_delivery() te definiëren die een bericht print en de bestelling verwijdert die is opgeslagen met order_id uit self.orders.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 ____.____[____]
Code bewerken en uitvoeren