Informelle Interfaces
Informelle Interfaces geben eine Reihe von Methoden vor, die in allen Klassen definiert sein müssen, die dieses Interface implementieren. Unten siehst du eine Klasse namens Supplier, die als informelles Interface dient. Damit YogurtSupplier den Vertrag des Supplier-Interfaces erfüllt, muss es die Methoden take_order() und make_delivery() definieren. In dieser Übung übst du genau das.
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
Diese Übung ist Teil des Kurses
Fortgeschrittene objektorientierte Programmierung in Python
Anleitung zur Übung
- Definiere in der Klasse
YogurtSupplierdie Methodetake_order(), um eine Bestellung zum Dictionaryself.ordershinzuzufügen. - Erfülle den Vertrag des
Supplier-Interfaces, indem du eine Methodemake_delivery()definierst, die eine Nachricht ausgibt und die unterorder_idgespeicherte Bestellung ausself.orderslöscht.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 ____.____[____]