@startuml "Classes"

top to bottom direction

class Alerta <<abstract>> {
  - number timerHandler
  + Date horario
  + boolean absoluto
  + string descricao
  + cancelar()
}
note left of Alerta : Alerta programado.\n\nPossui uma descrição que é\nexibida com a conclusão do\ntimer, na forma de um alerta.

class AlertaRelativo {
  constructor(desc, horExpr)
  + ajustar(horExpr)
  + string: getTempoRestante()
}

class AlertaAbsoluto {
  + ajustar(horStr)
  constructor(desc, hor)
}

class Teste{

}

Alerta <|-- AlertaRelativo
Alerta <|-- AlertaAbsoluto

@enduml
