Решение задачи по C#

Отменен
Заказ
3606615
Раздел
Программирование
Предмет
C#
Тип работы
Антиплагиат
Не указан
Срок сдачи
13 Ноя 2020 в 21:55
Цена
Договорная
Блокировка
10 дней
Размещен
11 Ноя 2020 в 07:05
Просмотров
530
Описание работы

Какое же наследование без геометрии!

Скачайте проект Inheritance.Geometry и изучите файл Virtual\VirtualTask.cs. Проблема этого подхода в том, что каждый раз при добавлении нового типа тела придется менять метод в базовом классе, из-за чего код в последствии будет разрастаться и становиться все более сложным, вдобавок компилятор не способен определить, добавили ли мы необходимые вычисления в метод, и помочь нам отловить ошибку на этапе компиляции.

Предположим вы знаете, что в планах добавить ещё много новых геометрических примитивов. В этом случае разумно сделать методы ContainsPoint и GetBoundingBox абстрактными и переопределить их в классах Ball, RectangularCuboid, Cylinder и CompoundBody.

Сделайте это! Метод ContainsPoint уже реализован внутри класса Body, вам остается лишь переместить необходимые участки кода в конкретные классы фигур. Метод GetBoundingBox нужно будет реализовать с нуля. Он должен возвращать минимальный ограничивающий прямоугольный параллелепипед (RectangularCuboid), то есть такой, который полностью содержит в себе фигуру.

После такого рефакторинга код должен стать проще. В частности в финальном решении не должно остаться ни одного if-а.

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу 1 год
Средний балл 4.96
Стоимость Назначаете сами
Эксперт Выбираете сами
Уникальность работы от 70%
Предыдущий заказ
Следующий заказ
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Темы журнала
Показать ещё
Прямой эфир