У меня есть класс с (скажем) 50 полями. Я использую только несколько из них для развертывания программы для каждого пользователя. Есть ли способ сделать конструктор общим, но специфичным для развертывания?Конструктор со многими параметрами
например
public class Employee{
private String id = "default";
private String empcat = "default";
private String empfam = "default";
private String phychar = "default";
private String othchar = "default";
private String shoesty = "default";
private Double shoesiz = 0.0;
private String shoesty = "default";
private Double shirsiz = 0.0;
private String shirsty = "default";
.........50 other fields..
}
"Пользователь/Клиент 1" - только хочет использовать эту программу для обуви и, таким образом, создает экземпляр объекта с:
Сотрудник obemp = новый сотрудник ("Джон", 11,5, Dockers) ; (Т.е. идентификатор, shoesiz и shoesty)
Пользователь/Клиент 2 - хочет использовать только программу для рубашки и, таким образом, создает экземпляр объекта с:
Сотрудник obemp = новый сотрудник ("Джон", 42, ABC); (Т.е. идентификатор, shirsiz и shirsty)
пользователя/клиента 3 - только хочет, чтобы использовать эту программу для семьи и, таким образом, создает экземпляр объекта с:
Сотрудник obemp = новый сотрудник («Джон», «Smith»); (т. е. id, empfam)
Порядок полей при создании объекта может быть различным - в зависимости от использования в модели.
Хорошо, теперь я вижу ваш вопрос. Можете ли вы привести пример того, что означает «общий, но специфический»? Я не уверен, чего ты хочешь. Посмотрите на [Образец Builder] (http://en.wikipedia.org/wiki/Builder_pattern) – markspace
. Лучшим подходом здесь будет шаблон Builder, например 'Employee e = Employee.ofName (« John »). OfSurname (« Смит ") .build()' –
Не говоря уже о том, что это объектно-ориентированное программирование. Обувь - это один вид объекта, другая рубашка и т. Д. –