Interfejsy nieformalne
Nieformalne interfejsy definiują zestaw metod, które muszą być zaimplementowane we wszystkich klasach korzystających z danego interfejsu. Poniżej znajdziesz klasę Supplier, która pełni rolę nieformalnego interfejsu. Aby klasa YogurtSupplier spełniła kontrakt określony przez interfejs Supplier, musi zdefiniować metody take_order() i make_delivery(). W tym ćwiczeniu właśnie to przećwiczysz.
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
To ćwiczenie jest częścią kursu
Programowanie obiektowe w Pythonie – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- W klasie
YogurtSupplierzdefiniuj metodętake_order(), która dodaje zamówienie do słownikaself.orders. - Wypełnij kontrakt interfejsu
Supplier, definiując metodęmake_delivery(), która wyświetla komunikat i usuwa zamówienie o kluczuorder_idze słownikaself.orders.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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 ____.____[____]