我有这些代码:
public class CentroImpl implements Centro {
//Atributos
private String nombre;
private String direccion;
private Integer numeroPlantas;
private Integer numeroSotanos;
public Set<Espacio> espacio;
//Constructor
public CentroImpl(String nombre, String direccion, Integer numeroPlantas, Integer numeroSotanos){
checkPlantas(numeroPlantas);
checkSotanos(numeroSotanos);
this.nombre = nombre;
this.direccion = direccion;
this.numeroPlantas = numeroPlantas;
this.numeroSotanos = numeroSotanos;
this.espacio = new TreeSet<Espacio>();
}
@Override
public Set<Despacho> getDespachos() {
}
getDespacho
应该通过建筑物(中心区)的“Espacios”(地点)列表,并告诉我其中有多少是Despachos
(办公室)。正如您在Espacio class
中看到的那样,定义了一种类型。
public class EspacioImpl implements Espacio {
//Atributos
private TipoEspacio tipo;
private String nombre;
private Integer planta;
private Integer aforo;
//Constructores
public EspacioImpl(TipoEspacio tipo, String nombre, Integer planta, Integer aforo) {
checkerAforo(aforo);
this.nombre = nombre;
this.planta = planta;
this.aforo = aforo;
this.tipo = tipo;
}
但我还没有学会如何访问它,而且我无法找到任何可以理解的东西。谢谢你的帮助。
答案 0 :(得分:1)
假设Despacho扩展了Espacio并且TipoEspacio是enum:
@Override
public Set<Despacho> getDespachos() {
Set<Despacho> despachos = new HashSet<Despacho>();
for (Espacio e : espacio) {
// Not sure, depends on the definition of TipoEspacio
if (e.getTipo() == TipoEspacio.DESPACHO && e instanceof Despacho) {
despachos.put((Despacho)e);
}
}
return despachos;
}
答案 1 :(得分:1)
此答案假设您有一个名为EspacioImpl
的{{1}}集合,并且Despacho的espacios
名称为enum
。然后,您必须对Despacho
执行某些操作(例如numDespachos
)。这也假设return
有一个名为EspacioImpl
的方法。你需要这个,因为getTipo
成员是tipo
,因此如果没有getter,就无法在课外访问它。
private