• Какие есть варианты решения данной задачи(которые сам придумал и случайным образ усложнил)?

    @red-barbarian
    да. но меня интересовало тогда сколько и когда людей заболеет. т.е. достаточно.

    инфицированный.
    заболевший.
    здоровый.

    тех кто выздоравливает, (еще больной, но уже не носитель я не брал в расчет) также не брал в расчет повторное заболевание.
    Но вы правы, у меня неточность: изначально люди в состоянии "незаболевшие". )
  • Что почитать по теоретической физике после Хокинга?

    @red-barbarian
    mephy: это лучшие лекции/учебники по физике. Для тех кто хочет понять физику. и сейчас.
    Но конечно если изучать физику, то это должен быть как доп материал.
  • Как правильно составить диаграмму классов?

    @red-barbarian
    Привет с другой окраины Беларуси ))) Могилевская обл.
  • Как правильно составить диаграмму классов?

    @red-barbarian
    Григорий Васильков:
    Я бы разделил так.
    моделируем потребление электричества
    Счетчик суммирует мощности девайсев.
    Девайс это интерфейс который понимает счетчик. Имеет метод Мощность()
    Все устройства реализуют этот интерфейс.
    Холодильник
    имеет состояния включен/выключен
    и настройку температуры
    метод Мощность примерно такой
    {
    если выключен, то 0
    иначе Мощность работы
    }
    метод МощностьРаботы
    {
    сложный расчет зависимости от температуры
    }

    Телевизор
    состояние включен/выключен
    состояние ждущий/активный режим
    Мощность - такой же метод как у холодильника
    МощностьРаботы
    {
    сложный расчет зависимости от ждущего или активного режима
    }

    Получается дублирование кода в части включен/выключен.
    Мы его выносим в абстрактный класс
    ВключаемыеУстройства{
    состояния включено/выключено
    метод Мощность примерно такой
    {
    если выключен, то 0
    иначе Мощность работы
    }
    метод МощностьРаботы - указываем что не реализован
    }
    телевизор и холодилник наследники и реализуют метод Мощность работы.

    т.е. в абстрактном классе собраны общие методы и свойства которые мы не хотим повторно описывать. Так же там реализованы некоторые методы с общими алгоритмами. а часть не реализована, а декларирована.
    Т.е. интерфейс это некая устойчивая договоренность между его потребителем и тем кто его реализовывает. Позволяет разбить систему на две части.
    Абстрактный класс это общее для классов. позволяет не переписывать повторно эту общую часть для потомков.

    Продукт Продаем
    Абстрактное Устройство играет роль продукта
    имеет абстрактный метод Проверить
    и обычный Упаковать
    реализует метод Продать ( Проверить + Упаковать )

    Телевизор играет роль Устройства
    реализует Проверить( включить и посмотреть программу)
    Холодильник играет роль Устройства
    реализует Проверить (включить и потрогать морозилку)