ComenzarEmpieza gratis

Crear un método fábrica

Ahora que estás listo para empezar a crear métodos fábrica, vas a comenzar creando una clase Checkout usando el patrón de diseño factory method. A continuación tienes definida la interfaz Customer, junto con los productos concretos RewardsMember y NewCustomer. ¡Échales un vistazo!

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

Este ejercicio forma parte del curso

Programación orientada a objetos intermedia en Python

Ver curso

Instrucciones del ejercicio

  • Crea un método fábrica _get_customer() que reciba un customer_type y devuelva un objeto del producto concreto apropiado.
  • En el método complete_transaction(), utiliza el método fábrica definido anteriormente para devolver un cliente y, después, realiza un pago usando el price que se pasa al método make_payment().

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

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 = ____.____(____)
    ____.____(____)
Editar y ejecutar código