Встретил такую конструкцию в обучающем примере.
public class Vehicle {
private String color;
//Constructor
Vehicle(String c) {
this.setColor(c);
}
// Setter
public void setColor(String c) {
this.color = c;
}
}
Насколько я понимаю, сеттер используют чтобы задать значение приватной переменной, на что способен и конструктор. Зачем использовать конструктор, который использует сеттер, который присвоит значение переменной, если можно обойтись конструктором? Бывают случаи когда это необходимо, или это просто теоритический пример что так можно?
Ответ
Сеттер не всегда просто присваивает значение переменной, чаще всего он ещё выполняет какие-то действия(нормализует данные, например), поэтому чтобы не дублировать код из сеттера в конструкторе - можно просто вызывать сеттер из конструктора.
Комментариев нет:
Отправить комментарий