Files
Igor-kr/OOP/task/6/TASK.md
T
2026-07-14 12:20:34 +03:00

1.8 KiB
Raw Blame History

Задача 6. Магазин (ООП - Агрегация)

Постановка

  • Товар: Имеет название и цену.
  • Корзина: Содержит список товаров. Может добавлять товар и считать общую стоимость.
  • Покупатель: Имеет имя, баланс и корзину. Может оплачивать корзину.

Задание

Класс Product:

  1. Создайте класс Product.
  2. Создайте метод __init__(self, name, price).

Класс Cart:

  1. Создайте класс Cart.
  2. В __init__(self) создайте пустой список products.
  3. Создайте метод add_product(self, product), добавляющий товар в список.
  4. Создайте метод get_total(self), возвращающий сумму цен всех товаров.

Класс Customer:

  1. Создайте класс Customer.
  2. В __init__(self, name, balance, cart) сохраните переданные параметры.
  3. Создайте метод pay(self), который проверяет, хватает ли баланса для оплаты корзины. Если хватает — вычитает сумму из баланса и очищает корзину. Если нет — выводит предупреждение.

Тесты:

  1. Создайте несколько товаров.
  2. Создайте корзину и добавьте в нее товары.
  3. Создайте покупателя, передав ему корзину и баланс.
  4. Заставьте покупателя оплатить товары в корзине.