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

[Projeto] Sistema de notificação

public class Main {
    static void main(String[] args) {
        Notificacao email = new Email("Weid","é isso ai q ta escrito no corpo","Agora aqui é um assunto aleatório","Exemplo de polimorfismo e herança");
        Notificacao sms = new Sms("Weid ","Fatura paga com sucesso, agr vc ta sem dinheiro cara, F");
        Notificacao push = new Push("Weid","Novidade","Você tem uma mensagem não lida");

        email.enviar();
        sms.enviar();
        push.enviar();
    }
}
public abstract 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 abstract void enviar();
}
public class Email extends Notificacao {
    private String assunto;
    private String corpo;



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

    @Override
    public void enviar() {
        System.out.println("Enviando email para  : " + getDestinatario());
        System.out.println("Assunto  : " + assunto);
        System.out.println("Corpo : " + getMensagem());
        System.out.println("\n");
    }
}
public class Sms extends Notificacao {
    public Sms(String destinatario, String mensagem) {
        super(destinatario, mensagem);
    }

    @Override
    public void enviar() {

        System.out.println("Enviando SMS para : " + getDestinatario());
        System.out.println("Mensagem : " + getMensagem());
        System.out.println("\n");
    }
}
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() {
        System.out.println("Enviando Push : " + getDestinatario());
        System.out.println("Titulo : " + titulo);
        System.out.println("Conteudo : " + getMensagem());
    }
}
1 resposta
solução!

Olá, Weid, como vai?

O código que você desenvolveu demonstra um ótimo domínio sobre os conceitos de herança e polimorfismo em Java. Você aplicou corretamente a classe abstrata para servir de molde e utilizou a anotação @Override para especializar o comportamento de envio em cada subclasse. É interessante notar como você aproveitou os atributos da classe base enquanto adicionava campos específicos, como o assunto no e-mail e o título no push, garantindo que cada objeto se comporte de maneira única.

Parabéns pelo excelente trabalho e por compartilhar sua resolução. Continue praticando e postando seus projetos. O fórum está a disposição.

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