#consulta nested objects
1 messages · Page 1 of 1 (latest)
`public class Truck implements Cloneable{
String name;
private ImpLocation initialLocation;
private int emptySpeed;
private int loadedSpeed;
private int capacity;
private Schedule schedule;
}
public class Schedule implements Cloneable{
private ActivityNode first;
private ActivityNode last;
private int size;
}`
`public class ActivityNode {
private ActivityNode next;
private Activity activity;
}
public class Activity implements Cloneable {
private String status; // EN ESPERA - EN PROCESO - FINALIZADO
public int idActividad;
private WaterRequirement waterRequirement;
List<WaterBottle> waterBottles;
private ImpPlace startPlace;
private ImpPlace pickUpPlace;
private ImpPlace deliveryPlace;
private double totalTravelTime;
private double totalTravelDistance;
private int totalWaterToTransport;
private double startTimeToEmptyTravel;
private double endTimeToEptyTravel;
private double startTimeToLoad;
private double endTimeToLoad;
private double startTimeToLoadedTravel;
private double endTimeToLoadedTravel;
private double startTimeToDelivery;
private double endTimeTodelivery;`
Bueno no es la gran cosa entonces, yo creo que lo que puedes hacer es intentar tal vez crear otra clase y sacar algunas de las variables en las otras clases mas grandes y ponerlas en esa nueva clase
Tal vez una clase para todo lo relacionado a los tiempos
pero mi duda es la siguiente... tengo esos objetos que se contienen unos a otros... desde afuera de todas esas clases existe una clase que recibe un requerimiento de agua y debe revisar qué camion es el apropiado para entregar el agua (en menos tiempo). entonces se deben buscar ventanas de tiempo en las planificaciones de los camiones para ver si el camion puede agendar dicha actividad entre medio de otras entregas o sino tirarla al final... en esa verificacion es necesario calcular tiempos de demora, buscar ventanas de tiempo, si la actividad va entre medio de otra se debe modificar el lugar de donde parte el camión para la actividad que va despues, etc... entonces mi duda es si para manipular todo eso debe hacerlo una clase externa?? por ejemplo ScheduleManager ? que se encargue de panipular el objeto interno?
o la misma clase Schedule que se encuentra dentro de TRUCK deberia manipular sus actividades
onda... dejar las clases bases asi como estan, con getters&setters y tener otras clases que se encarguen de la manipulacion, calculos, comportamiento
algo asi
esa es mi duda.. porque hasta ahora, dentro de las mismas clases estoy añadiendoles comportamientos y siento que cada vez el codigo se va volviendo demasiado denso
yo la verdad creo que lo mejor es aprovechar estas clases ya creadas para volverlas mas pareciads a unas estructuras de datos
ahi ya tienes la parte de los datos que esas clases van a almacenar, que son las variables que tienen, yo creo que añadirles unos cuantos metodos para operaciones mas o menos frecuentes que tengas que hacer con esos mismos datos pero en clases externas, seria muy bueno
y bueno, en el primer mensaje de este hilo no se ve muy bien, pero parece que tienes una clase definida dentro de otra, no creo que sea taaan necesario hacer esto en este caso, yo intentaria tenerlas separadas todas
y hacer como te digo, que cada una tenga sus datos como ya los tienes, quiza crear y mover algunas de las propieades que tienes en estas para esa otra clase, y asi no sobrecargas tanto las que ya tienes
y añadirles metodos con operaciones frecuentes con esos mismos datos