Я постараюсь объяснить это как можно лучше, так как я тоже не понимаю вопроса на 100%.
Меня просят создать интерфейс для создания двух необходимых компонентов, включающих две концепции под названием «Многочисленная семья» и «Внутренняя компания». Многочисленная семья - это семья, в которой более 4 сыновей, а внутренняя компания - это компания из внутреннего региона. Система должна иметь возможность управлять определением количества детей для многочисленных семей, а также вести список, который связывает внутренние регионы со значением (это значение не имеет значения в контексте, но оно должно существовать) .
Метод public double taxReduction() должен быть реализован многочисленными семьями и внутренними регионами, которые будут вычислять то, что позже объяснено.
Теперь важно сказать, что уже существуют 2 класса, называемые Taxpayer и Company, с некоторыми переменными, которые я не думаю, что имеют значение для этого вопроса:
public class Taxpayer {
...
}
public class Company {
...
}
«Многочисленная семья» касается налогоплательщиков, а внутренние регионы - компании. Я не очень разбираюсь в интерфейсах, но моя идея заключалась в каждом из определений:
Многочисленное семейство - создайте переменную private int sons с соответствующими get и set с помощью метода public double taxReduction(), который возвращает процент каждого сына if (this.sons>4), 0 в противном случае (эти значения еще предстоит определить, но для всей картины они не имеют большого значения).
Внутренняя компания - создайте еще один класс под названием "Регион":
public Class Region{
private String name;
private boolean inland; //if it's an inland region
}
Добавьте переменную public Region region; с помощью методов get и set и того же метода taxReduction.
Теперь вопросы (если все верно):
double taxReduction; в Интерфейс?Наблюдение: метод taxReduction() будет использоваться для вычисления некоторых чисел, где мне нужно будет проверить, посещаю ли я экземпляр, который представляет собой многочисленную семью или внутреннюю компанию. Мне действительно не нужно знать, как проверить, в каком экземпляре я нахожусь, поскольку я знаю, как это сделать, просто как действительно разобраться со всей этой проблемой интерфейса.




Это мои два цента:
How would my interface be written? Do i just add the double taxReduction; to the Interface?
Просто создайте свой интерфейс с помощью метода double getTaxReduction().
В вашей реализации TaxPayer или Company вы предоставляете для него конкретное тело.
How would i keep a list with the inland regions? Do i create a list on my main with all the inland regions or should i be initializing this somewhere else?
Это действительно зависит от обстоятельств.
Значения Region - это медленно меняющееся измерение (редко обновляемое).
Вы должны спросить себя: если приложение станет международным (новый регион добавлен как новая ветка в стране), то Region определенно должен храниться в БД, где вы можете управлять им динамически.
Если значения Region в некоторой степени фиксированы (используются в стране, определения Region меняются редко), то лучшим местом является перечисление Region. Если вы хотите изменить его, почему он запущен, вы можете связать его с файлом properties и ReloadableResource, как в Spring.
So the variables creation in the body of the Извините, но я не говорил ни о каком variables. Я предлагаю создать method в вашем интерфейсе, как вы его реализуете, зависит от вашего решения: D
Значит, создание переменных в теле TaxPayer и Company правильно? Что касается регионов, они будут полностью исправлены. У меня будет 2 типа файлов: один будет запускать тест приложения, а другой будет обновлен, то есть зарегистрировать нового налогоплательщика и другие функции. Оба должны уже содержать все существующие регионы. Их на самом деле не должно быть так много, их достаточно на данный момент, чтобы можно было это проверить.