Java ustawia prywatne pola wewnątrz konstruktorów
Powszechną praktyką projektową jest uczynienie zmiennych instancji prywatnymi i dostęp do nich przez publiczne narzędzia pobierające i ustawiające. Ale wiele razy widziałem próbki kodu w Internecie, które mają konstruktory, które przypisują wartości bezpośrednio do prywatnej zmiennej instancji, zamiast używać setterów wewnątrz konstruktorów. Czy czegoś mi brakuje?
public class Person{
private String name;
public Person(String name){
//is this right, seems like the whole encapsulation purpose is defeated
this.name = name;
//shouldn't this be used
setName(name);
}
public String getName(){
return this.name;
}
public void setName(String name){
this.name = name;
}
}