русский
Germany.ruForen → Архив Досок→ Programmierung

Резюме для программиста

20.09.21 16:11
Re: Резюме для программиста
 
Программист коренной житель
in Antwort MrSanders 20.09.21 14:55
Почему? Не вижу. То что B и D перестают из Method1 вызывать Method2 это не нарушение. Изменили поведение - да, но никакой инвариант не сломали.

Потому что принцип фактически сводится к "наследуемый класс должен дополнять, а не замещать поведение базового объекта".

т.е. если ты сделаешь тест для класса А и этот тест выдал зелененький результат, то тест с объектом класса Б (Б унаследован от А) тоже должен давать зеленый результат.


При этом в случае с new есть еще одна засада - программист, который использует Б должен знать делали реализации.


Так что в этом примере плохо абсолютно все.

 

Sprung zu