LoslegenKostenlos loslegen

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

Fortgeschrittene objektorientierte Programmierung in Python

Kurs anzeigen

Anleitung zur Übung

  • Definiere in der Klasse YogurtSupplier die Methode take_order(), um eine Bestellung zum Dictionary self.orders hinzuzufügen.
  • Erfülle den Vertrag des Supplier-Interfaces, indem du eine Methode make_delivery() definierst, die eine Nachricht ausgibt und die unter order_id gespeicherte Bestellung aus self.orders löscht.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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 ____.____[____]
Code bearbeiten und ausführen