Bắt đầu ngayBắt đầu miễn phí

Giao diện phi chính thức

Giao diện phi chính thức cung cấp một tập phương thức mà tất cả các lớp triển khai giao diện đó phải định nghĩa. Dưới đây là lớp Supplier sẽ đóng vai trò như một giao diện phi chính thức. Để YogurtSupplier đáp ứng hợp đồng do giao diện Supplier đặt ra, lớp này phải định nghĩa các phương thức take_order()make_delivery(). Trong bài tập này, bạn sẽ thực hành làm điều đó.

class Supplier:
  def take_order(self, product_name, quantity):
    pass

  def make_delivery(self, order_id, location):
    pass

Bài tập này là một phần của khóa học

Lập trình Hướng đối tượng Nâng cao với Python

Xem khóa học

Hướng dẫn bài tập

  • Trong lớp YogurtSupplier, định nghĩa phương thức take_order() để thêm một đơn hàng vào từ điển self.orders.
  • Hoàn tất hợp đồng do giao diện Supplier đặt ra bằng cách định nghĩa phương thức make_delivery() để in ra một thông báo và xóa đơn hàng được lưu bằng order_id khỏi self.orders.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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 ____.____[____]
Chỉnh sửa và Chạy Mã