Začněte nyníZačněte zdarma

Tvorba factory metody

Teď se pustíme rovnou do tvorby factory metod – začneš tím, že vytvoříš třídu Checkout podle návrhového vzoru factory method. Níže je pro tebe připravené rozhraní Customer spolu s konkrétními produkty RewardsMember a NewCustomer. Podívej se!

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}""")

Toto cvičení je součástí kurzu

Intermediate Object-Oriented Programming in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř factory metodu _get_customer(), která přijímá parametr customer_type a vrací objekt příslušného konkrétního produktu.
  • V metodě complete_transaction() použij právě definovanou factory metodu k získání zákazníka a poté zavolej make_payment() s parametrem price předaným do této metody.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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 = ____.____(____)
    ____.____(____)
Upravit a spustit kód