а если нигде не написан такой код что ожидает “что при изменении какого-то угла примыкающая к нему сторона поменяет длину”. если это просто программа по выводу фигур на канвас? ей нужны четыре точки и метод .draw() и ей все равно это квадрат или неквадрат
То, что код не написан сейчас, не значит, что он не будет написан потом
Методу, который рисует, нужен (абстрактный) класс, от которого наследуют и прямоугольник, и четырёхугольник
В конце-концов, для конкретно рисования схожих сущностей там может быть bridge какой-нибудь, который как раз отделяет абстракцию от реализации, и реализация конкретно рисования может быть одна