Hola a todo el foro...
Bueno, volviendo a java después de llevar un largo tiempo sin tocarlo me tope con un problema al tratar de ejercitar con un cuadernillo viejo que tengo.
El diagrama de clases es el siguiente
(http://i.imgur.com/I3Efp5P.png)
del cual lo represente con las siguientes clases
Clase EmpresaConstructora
package Punto2;
import java.util.ArrayList;
import java.util.List;
public class EmpresaConstructora {
private long id;
private String nombre;
private String rubro;
private String direccion;
private List<Barrio> barrios;
public EmpresaConstructora() {
}
public EmpresaConstructora(long id, String nombre, String rubro, String direccion) {
this.id = id;
this.nombre = nombre;
this.rubro = rubro;
this.direccion = direccion;
barrios = new ArrayList<>();
}
public List<Barrio> getBarrios() {
return barrios;
}
public void setBarrios(List<Barrio> barrios) {
this.barrios = barrios;
}
public String getDireccion() {
return direccion;
}
public void setDireccion(String direccion) {
this.direccion = direccion;
}
public String getRubro() {
return rubro;
}
public void setRubro(String rubro) {
this.rubro = rubro;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
Clase Barrio
package Punto2;
import java.util.ArrayList;
import java.util.List;
public class Barrio {
private long id;
private String nombre;
private String distrito;
private List<EmpresaConstructora> empresaConstructura;
private List<Manzana> manzanas;
public Barrio() {
}
public Barrio(long id, String nombre, String distrito) {
this.id = id;
this.nombre = nombre;
this.distrito = distrito;
empresaConstructura = new ArrayList<>();
manzanas = new ArrayList<>();
}
public List<EmpresaConstructora> getEmpresaConstructura() {
return empresaConstructura;
}
public void setEmpresaConstructura(List<EmpresaConstructora> empresaConstructura) {
this.empresaConstructura = empresaConstructura;
}
public List<Manzana> getManzanas() {
return manzanas;
}
public void setManzanas(List<Manzana> manzanas) {
this.manzanas = manzanas;
}
public String getDistrito() {
return distrito;
}
public void setDistrito(String distrito) {
this.distrito = distrito;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public double getSuperficieTotalBarrio(){
//Retornar el total de metros del terreno del barrio teniendo en cuenta
//la superficie de las manzanas asociadas con el mismo
double resultado=0;
for (Manzana manzanas : manzanas) {
resultado= +manzanas.getSuperficieManzana();
}
return resultado;
}
public double getSuperficieTotalCubiertaManzana(String letra){
//Retornar metros cuadraros cubiertos de una manzana especifica sumando la totalidad de metros
//cuadrados cubiertos de las viviendas que componen la manzana
//REUTILIZAR METODO getMetrosCuadradosCubiertos class Vivienda
double resultado = 0;
return resultado;
}
public double getDatosVivienda(String letraManzana, int numeroVivienda){
//Retornar los datos de la calle, numero de Calle, superficieTerreno y superficieCubierta de una
//vivienda en particular
//En caso de no existir la vivienda emitir mensaje "La vivienda buscada no existe en el barrio"
double resultado=0;
return resultado;
}
}
Clase Manzana
package Punto2;
import java.util.ArrayList;
import java.util.List;
public class Manzana {
private long id;
private String letra;
private double superficieManzana;
private List<Vivienda> viviendas;
private Barrio barrios;
public Manzana() {
}
public Manzana(long id, String letra, double superficieManzana, Barrio barrios) {
this.id = id;
this.letra = letra;
this.superficieManzana = superficieManzana;
this.barrios = barrios;
viviendas = new ArrayList<>();
}
public List<Vivienda> getViviendas() {
return viviendas;
}
public void setViviendas(List<Vivienda> viviendas) {
this.viviendas = viviendas;
}
public double getSuperficieManzana() {
return superficieManzana;
}
public void setSuperficieManzana(double superficieManzana) {
this.superficieManzana = superficieManzana;
}
public String getLetra() {
return letra;
}
public void setLetra(String letra) {
this.letra = letra;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
Clase Vivienda
package Punto2;
import java.util.ArrayList;
import java.util.List;
public class Vivienda {
private long id;
private int nroVivienda;
private String calle;
private int numeroCalle;
private double superficieTerreno;
private List<Habitacion> habitaciones;
private Manzana manzanas;
public Vivienda() {
}
public Vivienda(long id, int nroVivienda, String calle, int numeroCalle, double superficieTerreno, Manzana manzanas) {
this.id = id;
this.nroVivienda = nroVivienda;
this.calle = calle;
this.numeroCalle = numeroCalle;
this.superficieTerreno = superficieTerreno;
this.manzanas = manzanas;
habitaciones = new ArrayList<>();
}
public Manzana getManzanas() {
return manzanas;
}
public void setManzanas(Manzana manzanas) {
this.manzanas = manzanas;
}
public double getSuperficieTerreno() {
return superficieTerreno;
}
public List<Habitacion> getHabitaciones() {
return habitaciones;
}
public void setHabitaciones(List<Habitacion> habitaciones) {
this.habitaciones = habitaciones;
}
public void setSuperficieTerreno(double superficieTerreno) {
this.superficieTerreno = superficieTerreno;
}
public int getNumeroCalle() {
return numeroCalle;
}
public void setNumeroCalle(int numeroCalle) {
this.numeroCalle = numeroCalle;
}
public String getCalle() {
return calle;
}
public void setCalle(String calle) {
this.calle = calle;
}
public int getNroVivienda() {
return nroVivienda;
}
public void setNroVivienda(int nroVivienda) {
this.nroVivienda = nroVivienda;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public double getMetrosCuadradosCubiertos(){
//Retornar total de metros Cuadrado de vivienda teniendo en cuenta la cantidad de habitaciones asociadas
//Al finalizar el calculo validar que el valor obtenido no se mayor a la Sup del terreno
//Si ocurre esto emitir excepcion con mensaje "La superficie cubierta no puede ser mayor a la sup del terreno"
double resultado =0;
int cantidadHabitaciones =0;
double supTotalHabitaciones=0;
for (Habitacion habitacione : habitaciones) {
supTotalHabitaciones = +habitacione.getMetrosCuadrados();
cantidadHabitaciones++;
}
if(supTotalHabitaciones > getSuperficieTerreno() ){
System.out.println("La superficie cubierta no puede ser mayor a la sup del terreno");
System.out.println("\nCantidad de Habitaciones: "+cantidadHabitaciones);
}
System.out.println("Cantidad de habitaciones "+cantidadHabitaciones);
return resultado;
}
}
Clase Habitacion
package Punto2;
public class Habitacion {
private long id;
private String descripcion;
private long metrosCuadrados;
private Vivienda viviendas;
public Habitacion() {
}
public Habitacion(long id, String descripcion, long metrosCuadrados, Vivienda viviendas) {
this.id = id;
this.descripcion = descripcion;
this.metrosCuadrados = metrosCuadrados;
this.viviendas = viviendas;
}
public Vivienda getViviendas() {
return viviendas;
}
public void setViviendas(Vivienda viviendas) {
this.viviendas = viviendas;
}
public long getMetrosCuadrados() {
return metrosCuadrados;
}
public void setMetrosCuadrados(long metrosCuadrados) {
this.metrosCuadrados = metrosCuadrados;
}
public String getDescripcion() {
return descripcion;
}
public void setDescripcion(String descripcion) {
this.descripcion = descripcion;
}
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
}
ahora quería saber su opinión si están bien representadas las relaciones