/**
 * Código inicial del laboratorio: una hora del día (horas y minutos).
 * Le faltan toString, equals y hashCode; el laboratorio los agrega con sus
 * pruebas.
 */
public final class ClockTime {
    private final int hours;
    private final int minutes;

    public ClockTime(int hours, int minutes) {
        if (hours < 0 || hours > 23 || minutes < 0 || minutes > 59) {
            throw new IllegalArgumentException("hora inválida: " + hours + ":" + minutes);
        }
        this.hours = hours;
        this.minutes = minutes;
    }

    public int hours() {
        return hours;
    }

    public int minutes() {
        return minutes;
    }

    /** Minutos desde la medianoche. */
    public int toMinutes() {
        return hours * 60 + minutes;
    }
}
