21 lines
1.1 KiB
Python
21 lines
1.1 KiB
Python
# Система уведомлений (Полиморфизм)
|
||
# todo: Реализовать систему отправки уведомлений пользователям через разные каналы.
|
||
#
|
||
# Требования:
|
||
# Базовый класс NotificationSender с методом send(message, user)
|
||
# Дочерние классы:
|
||
# EmailSender: отправляет email с темой "Образовательная платформа"
|
||
# SMSSender: отправляет SMS (первые 50 символов сообщения)
|
||
# PushSender: отправляет push-уведомление с иконкой "🎓"
|
||
#
|
||
# Класс пользователя User:
|
||
# Свойства: name, preferred_notifications (список объектов NotificationSender)
|
||
|
||
|
||
# Этот код должен работать после релизации:
|
||
user = User("Мария", [EmailSender(), PushSender()])
|
||
notify_user(user, "Блок аналитики начинается с 27 октября!")
|
||
|
||
def notify_user(user, message):
|
||
for sender in user.preferred_notifications:
|
||
sender.send(message, user) |