Как реструктурировать статическую базу данных Java, чтобы различать 2D (площадь) и 3D (объем) формы?JAVA

Программисты JAVA общаются здесь
Anonymous
Как реструктурировать статическую базу данных Java, чтобы различать 2D (площадь) и 3D (объем) формы?

Сообщение Anonymous »

Я создаю приложение, которое распознает геометрические фигуры. В настоящее время я использую один класс ShapeData для хранения всех фигур в статическом списке.
Мой класс использует одно поле с именем VolumeFormula для пояснительного текста. Это работает для 3D-фигур (Куб), но семантически неверно для 2D-фигур (Квадрат), у которых есть площадь, а не объем. Мне нужно различать их программно, чтобы в моем пользовательском интерфейсе могла отображаться кнопка «Область чтения» или «Объем чтения».
Какой здесь объектно-ориентированный подход лучше всего?
  • Перечисление (

    Код: Выделить всё

    ShapeType.D2
    , ShapeType.D3)?
  • Наследование (абстрактные ShapeData с подклассами Shape2D и Shape3D)?
  • Поля, допускающие значение NULL (

    Код: Выделить всё

    areaFormula
    и VolumeFormula)?
вот пример кода:

Код: Выделить всё

import java.util.ArrayList;
import java.util.List;

public class ShapeDatabase {

public static class ShapeData {
public final String description;
public final String volumeFormula; //

Вернуться в «JAVA»