Вход на сайт
Резюме для программиста
89957 просмотров
Перейти к просмотру всей ветки
в ответ Программист 20.09.21 18:43
В данном случае вывод на консоль - это как раз поведение. Собственно говоря, эти классы сделали только ради вывода на консоль ;)
Это инфа для дебага. Не больше. Побочный эффект, не имеющий отношения к функционалу (отсутствующему) метода.
Поведение это:
а. получаемые параметры и возвращаемый результат
б. изменение внутреннего состояния
в. реализация контракта (где-то описанного)
Тут ни параметры ни результат не менялся. Внутреннее состояние не изменялось. Никакого контракта нигде нет. Была бы документация к методу "при вызове выдаёт на консоль две строки: Метод1 и Метод2" тогда можно было бы притянуть за уши, что был контракт и было его нарушение.
Иначе вообще любой переопределённый метод пришлось бы считать "изменением поведения" ведь что-то в нём мы поменяли (иначе зачем переопределять). На этом L и померло бы. Что с абстрактными методами делать даже не знаю...