У меня есть два класса, один из которых называется Модификаторы, а другой называется Опции. Модификаторы имеют идентификатор, имя и группу связанных с ним групп. Хотя параметры (или каждый вариант) имеют имя и цену. Каждый параметр связан только с одним модификатором. Каков наилучший способ написания этих классов, чтобы учесть их отношения. В моем приложении пользователь должен ввести имя Модификатора, затем они должны ввести имя и цену каждого параметра. Каждый модификатор может иметь как можно больше параметров. Вот классы и то, как я их сейчас использую: пользователь должен ввести имя модификатора, затем они должны ввести имя и цену каждого параметра. Каждый модификатор может иметь как можно больше параметров. Ниже приведены классы и как я их использую:Каков наилучший способ объявления и реализации двух классов Java?
public class Modifier {
int id;
String name;
Options [] options;
public Modifier() {
}
public Modifier(String name, Options[] options) {
this.name = name;
this.options = options;
}
public Modifier(int id, String name, Options[] options) {
this.id = id;
this.name = name;
this.options = options;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Options[] getOptions() {
return options;
}
public void setOptions(Options[] options) {
this.options = options;
}
}
В настоящее время я добавляю группу параметров в виде массива. Вот класс Options.
public class Options {
int id;
String name;
public Options() {
}
public Options(String name, long price) {
this.name = name;
this.price = price;
}
public Options(int id, String name, long price) {
this.id = id;
this.name = name;
this.price = price;
}
long price;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public long getPrice() {
return price;
}
public void setPrice(long price) {
this.price = price;
}
}
And in my main:
Options sausage = new Options("sausage",23);
Options olives = new Options("olives", 24);
Options bacon = new Options("bacon", 25);
Options [] toppings = {sausage, olives, bacon};
Modifier pizza_toppings = new Modifier(1, "Pizza toppings",toppings);
Я планирую использовать SQLIte DB, поэтому мне нужно найти эффективный способ сделать это.
вы можете добавить одно поле в класс параметров, который сохранит идентификатор-модификатор, а затем с помощью sqlite вы создадите две таблицы для модификаторов и одну для параметров, а когда вы извлечете из нее данные, вы используете ключ foriegn для создания своего объекта. кто бы ни выглядел в настоящее время, вы можете просто сохранить модификаторы ids в таблице опций и наоборот: таблица модификаторов [modifierId, name] - таблица опций [optionId - name - modifierId] –
Проблема в том, что модификатор и ID создаются одновременно, как я могу получить идентификатор модификатора в этом экземпляре. –
Вы не создаете модификатор без id? Я не вижу никакой проблемы, вы можете назначить идентификатор на конструкторе, затем назначить одинаковый идентификатор для id модификатора для каждой опции в списке опций. –