принцип Лисков он о поведении. если класс Машина имеет свойство “цена” и метод “вычислитьАмортизацию()” и класс Дом имеет все то же самое - то всем все равно что Дом это не Машина, главное чтобы в данной программе (бухгалтерской например) они взаимозаменялись хорошо. а так-то Дом и Машина это конечно разные обьекты.
Хорошо, у четырехугольника есть метод изменить угол, прилегающий к одной из вершин (для трасформации), в методе куда передан четырехугольник он и вызывается, но ты туда передала потомка - прямоугольник, подстановка работает?