Kom igångKom igång gratis

Informella gränssnitt

Informella gränssnitt anger en uppsättning metoder som måste definieras i alla klasser som implementerar gränssnittet. Nedan finns en klass med namnet Supplier som fungerar som ett informellt gränssnitt. För att YogurtSupplier ska uppfylla kontraktet som Supplier-gränssnittet ställer upp måste den definiera metoderna take_order() och make_delivery(). I den här övningen får du träna på just det.

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

  def make_delivery(self, order_id, location):
    pass

Den här övningen är en del av kursen

Objektorienterad programmering i Python – fortsättningskurs

Visa kurs

Övningsinstruktioner

  • Definiera metoden take_order() i klassen YogurtSupplier så att den lägger till en beställning i ordlistan self.orders.
  • Fullborda kontraktet från Supplier-gränssnittet genom att definiera en make_delivery()-metod som skriver ut ett meddelande och tar bort beställningen lagrad under order_id från self.orders.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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 ____.____[____]
Redigera och kör kod