Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • W klasie YogurtSupplier zdefiniuj metodę take_order(), która dodaje zamówienie do słownika self.orders.
  • Wypełnij kontrakt interfejsu Supplier, definiując metodę make_delivery(), która wyświetla komunikat i usuwa zamówienie o kluczu order_id ze słownika self.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 ____.____[____]
Edytuj i uruchom kod