Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Sistema de notificação

package br.com.comunicacao;

public class Notificacao {
    private String destinatario;
    private String mensagem;

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

    public String getDestinatario() {
        return destinatario;
    }

    public String getMensagem() {
        return mensagem;
    }

    public void enviar() {
    }
}
package br.com.comunicacao;

public class Email extends Notificacao {
    private String assunto;

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

    @Override
    public void enviar() {
        String email = """
                Enviando Email para: %s
                Assunto: %s
                Corpo: %s
                """.formatted(getDestinatario(), assunto, getMensagem());
        System.out.println(email);
    }
}
package br.com.comunicacao;

public class SMS extends Notificacao {

    public SMS(String destinatario, String mensagem) {
        super(destinatario, mensagem);
    }

    @Override
    public void enviar() {
        String sms = """
                Enviando SMS para: %s
                Mensagem: %s
                """.formatted(getDestinatario(), getMensagem());
        System.out.println(sms);
    }
}
package br.com.comunicacao;

public class Push extends Notificacao {
    private String titulo;

    public Push(String destinatario, String mensagem, String titulo) {
        super(destinatario, mensagem);
        this.titulo = titulo;
    }

    @Override
    public void enviar() {
        String push = """
                Enviando Push para: %s
                Título: %s
                Conteúdo: %s
                """.formatted(getDestinatario(), titulo, getMensagem());
        System.out.println(push);
    }
}
package br.com.comunicacao;

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

        Notificacao email = new Email("cliente@exemplo.com",
                "Aproveite nossos descontos esta semana.",
                "Promoção especial!");

        Notificacao sms = new SMS("(11) 98765-4321",
                "Sua fatura foi paga com sucesso.");

        Notificacao push = new Push("usuario_app",
                "Você tem uma nova mensagem não lida.",
                "Novidade!");

        email.enviar();
        sms.enviar();
        push.enviar();
    }
}

Saída:

Enviando Email para: cliente@exemplo.com
Assunto: Promoção especial!
Corpo: Aproveite nossos descontos esta semana.

Enviando SMS para: (11) 98765-4321
Mensagem: Sua fatura foi paga com sucesso.

Enviando Push para: usuario_app
Título: Novidade!
Conteúdo: Você tem uma nova mensagem não lida.
1 resposta
solução!

Oi, Aline! Como vai?

Com base no que você explicou, ficou claro como você estruturou bem as classes e o uso de polimorfismo no método enviar(). A forma como cada tipo de notificação sobrescreve o comportamento mostra que você entendeu a proposta do exercício.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!