非公式インターフェース
非公式インターフェースは、そのインターフェースを実装するすべてのクラスで定義すべきメソッドの集合を示します。以下の Supplier というクラスは、非公式インターフェースとして機能します。YogurtSupplier が Supplier インターフェースで定められた契約を満たすには、take_order() と make_delivery() の各メソッドを定義する必要があります。この演習では、それを実際に行っていきます。
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
この演習はコースの一部です
Python 中級オブジェクト指向プログラミング
演習の手順
YogurtSupplierクラスで、take_order()メソッドを定義し、注文をself.ordersの辞書に追加してください。Supplierインターフェースで定められた契約を満たすために、make_delivery()メソッドを定義し、メッセージを出力して、order_idを使ってself.ordersから該当の注文を削除してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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 ____.____[____]