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
Pokyny k cvičení
- Vytvoř factory metodu
_get_customer(), která přijímá parametrcustomer_typea 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é zavolejmake_payment()s parametrempricepř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 = ____.____(____)
____.____(____)