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
Istruzioni dell'esercizio
- Nella classe
YogurtSupplier, definisci il metodotake_order()per aggiungere un ordine al dizionarioself.orders. - Completa il contratto stabilito dall’interfaccia
Supplierdefinendo un metodomake_delivery()che stampi un messaggio ed elimini daself.ordersl’ordine salvato usandoorder_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 ____.____[____]