Resmî olmayan arayüzler
Resmî olmayan arayüzler, o arayüzü uygulayan tüm sınıflarda tanımlanması gereken bir yöntem kümesi sunar. Aşağıda, resmî olmayan bir arayüz olarak davranacak Supplier adlı bir sınıf bulunuyor. YogurtSupplierın Supplier arayüzünün belirlediği sözleşmeyi yerine getirebilmesi için take_order() ve make_delivery() yöntemlerini tanımlaması gerekir. Bu egzersizde, tam da bunu yapmayı pratik edeceksin.
class Supplier:
def take_order(self, product_name, quantity):
pass
def make_delivery(self, order_id, location):
pass
Bu egzersiz
Python'da Orta Düzey Nesne Yönelimli Programlama
kursunun bir parçasıdırEgzersiz talimatları
YogurtSuppliersınıfında,take_order()yönteminiself.orderssözlüğüne bir sipariş ekleyecek şekilde tanımla.Supplierarayüzünün belirlediği sözleşmeyi tamamlamak için, bir mesaj yazdıran veorder_idkullanılarakself.ordersiçindeki siparişi silen birmake_delivery()yöntemi tanımla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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 ____.____[____]