import java.lang.Comparable; /** * Clase abstracta raiz de los eventos que se llevan a cabo en una simulacion * @author Amparo López Gaona * @version 1a. ed. */ public abstract class Evento implements Comparable { protected double hora; // Hora en que se realiza el evento /** * Constructor que recibe la hora inicial del evento * @param horaInicial -- hora inicial del evento */ public Evento (int horaInicial) { hora = horaInicial; } /** * Comparador de las horas entre eventos * @param obj -- objeto que cuya hora se compara con el evento actual * @return int -- entero resultado de la comparación. Positivo si el * evento actual es posterior al parámetro; negativo si es anterior y * cero si son iguales */ public int compareTo (Object o) { Evento evento = (Evento) o; if (hora < evento.hora) return -1; if (hora == evento.hora) return 0; return 1; } /** * Método abstracto que sera implementado por los eventos particulares */ abstract void procesarEvento (); }