0
respostas

[Projeto] Sistema de notificação

Olá!

Segue a minha resolução.

  • Classe abstrata Notificação:
package br.com.alura.exercicios;

public abstract class Notificacao {

    protected String cliente;
    public String mensagem;

    public Notificacao(String mensagem) {
        this.mensagem = mensagem;
    }

    public abstract void enviarNotificacao();
}
  • Classes Email, SMS e NotificacaoPush:
package br.com.alura.exercicios;

public class Email extends Notificacao{

    private String assunto;
    private String email;

    public Email( String email, String assunto, String mensagem) {
        super(mensagem);
        this.assunto = assunto;
        this.email = email;
    }

    @Override
    public void enviarNotificacao() {
        System.out.printf("Enviando e-mail para %s" +
                "\nAssunto: %s" +
                "\nMensagem: %s", email, assunto, mensagem);
    }
}
package br.com.alura.exercicios;

public class SMS extends Notificacao{

    private String celular;



    public SMS(String celular, String mensagem) {
        super(mensagem);
        this.celular = celular;
    }


    @Override
    public void enviarNotificacao() {
        System.out.printf("\n\nEnviando sms para: %s" +
                "\nMensagem: %s", celular, mensagem);
    }
}
package br.com.alura.exercicios;

public class NotificacaoPush extends Notificacao {


    String titulo;
    String usuario;

    public NotificacaoPush( String usuario, String titulo,  String mensagem) {
        super(mensagem);
        this.titulo = titulo;
        this.usuario = usuario;
    }


    @Override
    public void enviarNotificacao() {
        System.out.printf("\n\nEnviando notificação para: %s" +
                "\nTitulo: %s" +
                "\nMensagem: %s", usuario, titulo, mensagem);
    }
}
  • Man para rodar a aplicação:
package br.com.alura.exercicios;

public class Main {
    public static void main(String[] args) {

        Notificacao email = new Email("victormoreira@email.com", "Ofertas imperdíveis","Não perca nossas ofertas!");
        Notificacao sms = new SMS("(11)98765-4321", "A sua fatura chegou!");
        Notificacao push = new NotificacaoPush("usuario_app", "A sua fatura fechou!", "Pague a sua fatura com desconto hoje!");
        email.enviarNotificacao();
        sms.enviarNotificacao();
        push.enviarNotificacao();

    }
}