Суть задания:
То ли задание криво сформулировано, то ли я что-то не понимаю. Какие поля должны быть у данных классов?
Вызывает затруднение тот момент, что разные категории могут иметь разное количество атрибутов и значения этих атрибутов могу быть различных типов (строковый, числовые). Была идея сделать так
class Category {
private String name;
private HashMap<String, String> attributes;
.....
}
Но мне кажется возникнут сложности при фильтрации по атрибутам
Создайте абстрактную позицию (abstract class AbstractPosition) с полями: цена(вероятно float), количество (вероятно int) и статус (по всей видимости ENUM). И классы категорий, например стол: class Table с полями глубина, ширина и высота (единицы смотрите по обстоятельствам). Для табурета будут свои параметры, для дивана свои. Далее создайте классы конкретных позиций наследующих AbstractPosition, например для стола class TablePosition extends AbstractPosition с полем позиции в данном случае Table table;
Теперь у класса TablePosition есть стол и цена, количество и статус из суперкласса.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей