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() và 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
Hướng dẫn bài tập
- Trong lớp
YogurtSupplier, định nghĩa phương thứctake_order()để thêm một đơn hàng vào từ điểnself.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ứcmake_delivery()để in ra một thông báo và xóa đơn hàng được lưu bằngorder_idkhỏiself.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 ____.____[____]