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
Övningsinstruktioner
- Definiera metoden
take_order()i klassenYogurtSupplierså att den lägger till en beställning i ordlistanself.orders. - Fullborda kontraktet från
Supplier-gränssnittet genom att definiera enmake_delivery()-metod som skriver ut ett meddelande och tar bort beställningen lagrad underorder_idfrånself.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 ____.____[____]