Поскольку я пытаюсь узнать больше о ООП (Java), я прорабатываю какую-то литературу, где я нашел эту «задачу». К сожалению, у меня есть трудное время, так как я довольно новичок в ООП, и у меня нет никакого образцового решения. Может быть, некоторые из вас могут дать мне некоторый вклад, поэтому я смогу пробиться через это.Задача ООП (иерархия классов, наследование, интерфейс и т. Д.)
- Определить иерархию классов для этих классов:
- четырехугольник
- выпуклый четырехугольник
- трапеции
- параллелограмм
- ромб
- прямоугольник
- площадь
- Создать экземпляр каждого класса, если это возможно
- Define разумные атрибуты и методы в каждом классе
- перегрузки и переопределения методов
- Написать разумные конструкторы для каждого класса
- Использование модификаторов (абстрактные, статические, окончательные, общедоступные, защищенные и частные) значимым образом
- Как можно использовать интерфейс для этой задачи?
01 Иерархия классов
Хорошо, это простая математика, и вы можете найти тонны информации о иерархии четырехугольники везде. Вот что я сделал:
Создание объектов каждого класса не большое дело, но я до сих пор есть некоторые проблемы с пониманием всех ООП-техники. Есть несколько моментов, когда я не знаю, какой был бы лучший способ сделать это ... (например, квадрат, который наследуется от двух классов, что в java просто невозможно). Кроме того, формулы (например, вычисление площади поверхности) будут перезаписываться все время в любом случае (поскольку они в большинстве случаев различны), так зачем мне наследовать в любом случае? Не могу ли я просто использовать интерфейс, использовать его во всех этих классах, заставить их реализовать эти формулы?
Greetings - Лисичка
Возможно, интерфейс 'Shape'. –
Вы не можете решить цепочку наследования, не зная цели класса - это обязанности. Что такое квадрант? Для чего нужна площадь? И вам наверняка не нужны интерфейсы, потому что они не должны использоваться в случаях, когда достаточно простого абстрактного класса. – spectre