Antarmuka informal
Antarmuka informal menyediakan sekumpulan metode yang harus didefinisikan di semua kelas yang mengimplementasikan antarmuka tersebut. Di bawah ini ada kelas bernama Supplier yang akan bertindak sebagai antarmuka informal. Agar YogurtSupplier memenuhi kontrak yang ditetapkan oleh antarmuka Supplier, kelas tersebut harus mendefinisikan metode take_order() dan make_delivery(). Pada latihan ini, Anda akan berlatih melakukan hal itu.
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
Latihan ini adalah bagian dari kursus
Pemrograman Berorientasi Objek Tingkat Menengah di Python
Petunjuk latihan
- Dalam kelas
YogurtSupplier, definisikan metodetake_order()untuk menambahkan pesanan ke kamusself.orders. - Lengkapi kontrak yang ditetapkan oleh antarmuka
Supplierdengan mendefinisikan metodemake_delivery()untuk mencetak sebuah pesan dan menghapus pesanan yang disimpan menggunakanorder_iddariself.orders.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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 ____.____[____]