Приветствую всех, если у вас проблема с решением этой задачи пишите, оно у меня есть!
Какое же наследование без геометрии!
Скачайте проект Inheritance.Geometry и изучите Task.cs. Проблема этого подхода в том, что каждый раз при добавлении нового типа тела придется менять метод в базовом классе.
Предположим вы знаете, что в планах добавить ещё много новых геометрических примитивов. В этом случае разумно сделать метод GetVolume абстрактным и переопределить его в классах Cube, Ball и Cyllinder.
Сделайте это!
В финальном решении не должно быть ни одного приведения типа.
1 2 3 4 5 6 7 8 9 |
using System; namespace Inheritance.Geometry { public abstract class Body { public abstract double GetVolume(); } } |
Стоимость решения этой задачи всего 100 рублей, закажи решения у меня 🙂
Внимание! Решение было обновлено в 2021