package Notificacao;
public class Main {
public static void main(String[] args) {
Notificacao email = new Email("cliente@exemplo.com", "Promoção especial!",
"Aproveite nossos descontos esta semana.");
Notificacao sms = new Sms("(11) 98765-4321",
"Sua fatura foi paga com sucesso.");
Notificacao push = new Push("usuario_app",
"Novidade!!", "Você tem uma nova mensagem não lida. ");
email.enviar();
sms.enviar();
push.enviar();
}
}
package Notificacao;
public abstract class Notificacao {
String destinatario;
String mensagem;
public String getDestinatario() {
return destinatario;
}
public String getMensagem() {
return mensagem;
}
public Notificacao(String destinatario, String mensagem) {
this.destinatario = destinatario;
this.mensagem = mensagem;
}
public abstract void enviar();
}
package Notificacao;
public class Email extends Notificacao{
String corpo;
public String getCorpo() {
return corpo;
}
public Email(String destinatario, String mensagem, String corpo) {
super(destinatario, mensagem);
this.corpo = corpo;
}
@Override
public void enviar() {
System.out.printf("\nEnviando Email para: %s\n", getDestinatario());
System.out.printf("Assunto: %s\n", getMensagem());
System.out.printf("Corpo: %s\n", getCorpo());
}
}
package Notificacao;
public class Sms extends Notificacao{
public Sms(String destinatario, String mensagem) {
super(destinatario, mensagem);
}
@Override
public void enviar() {
System.out.printf("\nEnviando SMS para: %s\n", getDestinatario());
System.out.printf("Mensagem: %s\n", getMensagem());
}
}
package Notificacao;
public class Push extends Notificacao{
String titulo;
public String getTitulo() {
return titulo;
}
public Push(String destinatario, String titulo, String mensagem) {
super(destinatario, mensagem);
this.titulo = titulo;
}
@Override
public void enviar() {
System.out.printf("\nEnviando Push para: %s\n", getDestinatario());
System.out.printf("Título: %s\n", getTitulo());
System.out.printf("Conteúdo: %s\n", getMensagem());
}
}