IniziaInizia gratis

Interfacce informali

Le interfacce informali forniscono un insieme di metodi che devono essere definiti in tutte le classi che implementano quell’interfaccia. Qui sotto trovi una classe chiamata Supplier che fungerà da interfaccia informale. Affinché YogurtSupplier rispetti il contratto stabilito dall’interfaccia Supplier, deve definire i metodi take_order() e make_delivery(). In questo esercizio, metterai in pratica proprio questo.

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

  def make_delivery(self, order_id, location):
    pass

Questo esercizio fa parte del corso

Programmazione a oggetti intermedia in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Nella classe YogurtSupplier, definisci il metodo take_order() per aggiungere un ordine al dizionario self.orders.
  • Completa il contratto stabilito dall’interfaccia Supplier definendo un metodo make_delivery() che stampi un messaggio ed elimini da self.orders l’ordine salvato usando order_id.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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 ____.____[____]
Modifica ed esegui il codice