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
Oefeninstructies
- Definieer in de klasse
YogurtSupplierde methodetake_order()om een bestelling toe te voegen aan de dictionaryself.orders. - Maak het contract van de
Supplier-interface af door een methodemake_delivery()te definiëren die een bericht print en de bestelling verwijdert die is opgeslagen metorder_iduitself.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 ____.____[____]