Читаю лекцию по инкапсуляции. https://javarush.com/groups/posts/1928-getterih-i-setterih
Там рассматриваються примеры с геттерами и сеттерами, которые защищают от создания некорректных полей, например кота возрастом +1000 лет)
При этом в примере кода остается паблик конструктор, который позволит создать того же кота возрастом -1000 лет, несмотря на сеттеры и гетеры.
Это недостаток статьи или я чего то недопонял?
public class Cat {
private String name;
private int age;
private int weight;
public Cat(String name, int age, int weight) {
this.name = name;
this.age = age;
this.weight = weight;
}
public Cat() {
}
public void sayMeow() {
System.out.println("Мяу!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getWeight() {
return weight;
}
public void setWeight(int weight) {
this.weight = weight;
}
}