Неформальні інтерфейси
Неформальні інтерфейси задають набір методів, які мають бути визначені в усіх класах, що реалізують цей інтерфейс. Нижче наведено клас 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(), який має виводити повідомлення та видаляти замовлення зself.ordersзаorder_id.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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 ____.____[____]