История изменений
Исправление system-root, (текущая версия) :
С телефона сложно лолировать, но я попробую.
Нам понадобятся несколько классов: 1Д, 2Д объекты и пространство с координатами.
2Д объект хранит в себе граф 1Д объектов с их угловым разрешением и длиною (ну то есть мы хардкодим 1Д объекты как рёбра отрезки)
Этого достаточно для того, чтобы нарисовать все евклидовые фигуры на пространстве.
Сами фигуры наследуется от стандартного 2Д объекта и проксируют свои специфичные методы.
Квадрат наследуется от прямоугольника. Ромб наследуется от треугольника.
Ну и соотвественно прямоугольник принимает два размера, квадрат переопределяет этот метод и второй размер игнорирует.
Ромб вообще имеет те же методы, что и треугольник, просто добавляя под капотом ещё один такой же.
Сами фигуры понятие не имеют как почитать их площадь или пересечение с другими фигурами потому, что во первых площадь будет зависеть от поверхности, а про другие фигуры они вообще ничего не знают.
И только разложив их в пространстве с определёнными координатами мы сможем посчитать площадь или пересечение прямых отрезков.
Исходная версия system-root, :
С телефона сложно лолировать, но я попробую.
Нам понадобятся несколько классов: 1Д, 2Д объекты и пространство с координатами.
2Д объект хранит в себе граф 1Д объектов с их угловым разрешением и длиною (ну то есть мы хардкодим 1Д объекты как рёбра отрезки)
Этого достаточно для того, чтобы нарисовать все евклидовые фигуры на пространстве.
Сами фигуры наследуется от стандартного 2Д объекта и проксируют свои специфичные методы.
Квадрат наследуется от прямоугольника. Ромб наследуется от треугольника.
Ну и соотвественно прямоугольник принимает два размера, квадрат переопределяет этот метод и второй размер игнорирует.
Ромб вообще имеет те же методы, что и треугольник, просто добавляя под капотом ещё один такой же.
Сами фигуры понятие не имеют как почитать их площадь или пересечение с другими фигурами потому, что во первых площадь будет зависеть от поверхности, а про другие фигуры они вообще ничего не знают.
И только разложив их в пространстве с определёнными координатами мы сможем посчитать площадь или пересечение прямых.