假设我有两个类:Animal和Zoo,其中Zoo类具有包含Animal实例的私有列表。
我想返回迭代器的原因是为了避免定义setter和getter以及移除方法。
这是否会破坏封装性?
class Zoo{
private List<Animal> animalList;
public Zoo(){
animalList = new ArrayList<Animal>();
}
public void addAnimal(Animal animal){
animalList.add(animal);
}
public Iterator<Animal> iterator(){
return animalList.iterator();
}
}
class Animal{
private String name;
private double weight, height;
Animal(String name, double weight, double height){
this.name = name;
this.weight = weight;
this.height = height;
}
}