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
<Kurs>Fortgeschrittene objektorientierte Programmierung in Python</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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 ____.____[____]