Давайте как раз на тему ООП подкину вопросик. Нужно реализовать класс отчётов. Даты начала/конца, название, данные. И у некоторых отчётов будет ещё булево поле использовать ли смежные данные.
Вот отчеты с булевым полем должны его иметь, а без него, по-хорошему, вообще не должны о нем знать.
У нас две идеи: Основной отчет и подкласс с булевым полем, либо оба отчета в виде интерфейсов с повторяющимися полями, класс реализует оба интерфейса, а используется как интерфейсный тип по ситуации.
Ни один вариант особо не нравится. Идеи будут?