1.8 KiB
1.8 KiB
Задача 6. Магазин (ООП - Агрегация)
Постановка
- Товар: Имеет название и цену.
- Корзина: Содержит список товаров. Может добавлять товар и считать общую стоимость.
- Покупатель: Имеет имя, баланс и корзину. Может оплачивать корзину.
Задание
Класс Product:
- Создайте класс
Product. - Создайте метод
__init__(self, name, price).
Класс Cart:
- Создайте класс
Cart. - В
__init__(self)создайте пустой списокproducts. - Создайте метод
add_product(self, product), добавляющий товар в список. - Создайте метод
get_total(self), возвращающий сумму цен всех товаров.
Класс Customer:
- Создайте класс
Customer. - В
__init__(self, name, balance, cart)сохраните переданные параметры. - Создайте метод
pay(self), который проверяет, хватает ли баланса для оплаты корзины. Если хватает — вычитает сумму из баланса и очищает корзину. Если нет — выводит предупреждение.
Тесты:
- Создайте несколько товаров.
- Создайте корзину и добавьте в нее товары.
- Создайте покупателя, передав ему корзину и баланс.
- Заставьте покупателя оплатить товары в корзине.