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

Bir factory method oluşturma

Artık factory method'lar oluşturmaya başlamak için hazırsın; işe, factory method tasarım desenini kullanarak bir Checkout sınıfı oluşturarak başlayacaksın. Aşağıda, senin için tanımlanmış bir Customer arayüzü ile RewardsMember ve NewCustomer somut ürünleri yer alıyor. Hemen göz at!

class Customer(ABC):
  @abstractmethod
  def make_payment(self, price):
    pass

class RewardsMember(Customer):
  def make_payment(self, price):
    print(f"""Total price for rewards member is 
          ${price * .90}, which is 10% off""")

class NewCustomer(Customer):
  def make_payment(self, price):
    print(f"""Total price for new customer is ${price}""")

Bu egzersiz

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

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • customer_type alan ve uygun somut ürünün bir nesnesini döndüren bir _get_customer() factory method'u oluştur.
  • complete_transaction() yönteminde, önce tanımladığın factory method'u kullanarak bir müşteri döndür, ardından make_payment() yöntemine verilen price ile ödemeyi gerçekleştir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Checkout:
  # Create a _get_customer() factory method 
  def ____(self, customer_type):
    if ____ == "Rewards Member":
      return ____()
    elif ____ ____ "New Customer":
      return ____()
  
  # Define the complete_transaction() method
  def complete_transaction(self, customer_type, price):
    customer = ____.____(____)
    ____.____(____)
Kodu Düzenle ve Çalıştır