BaşlayınÜcretsiz başlayın

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, kursun bir parçasıdır

Python'da Orta Düzey Nesne Yönelimli Programlama

Kursa Göz Atın

Egzersiz talimatları

  • YogurtSupplier sınıfında, take_order() yöntemini self.orders sözlüğüne bir sipariş ekleyecek şekilde tanımla.
  • Supplier arayüzünün belirlediği sözleşmeyi tamamlamak için, bir mesaj yazdıran ve order_id kullanılarak self.orders içindeki siparişi silen bir make_delivery() yöntemi tanımla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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 ____.____[____]
Kodu Düzenle ve Çalıştır