1
resposta

[Projeto] Sistema de notificação

Main :

public static void main(String[] args) {
        Email email = new Email("cliente@exemplo.com",
                "Special promo!",
                "Enjoy our discounts this week .");
        Sms sms = new Sms("995894561",
                "Special promo!");

        Push push = new Push("cliente@exemplo.com",
                "You have an unread message.",
                "News !");

        email.sendMessage();
        System.out.println();
        sms.sendMessage();
        System.out.println();
        push.sendMessage();

    }

Notification :

public class Notification {
    public String destinatary ;
    public String message;


    public Notification(String destinatary, String message) {
        this.destinatary = destinatary;
        this.message = message;
    }

    public void sendMessage(){

    }

}

Email :

public class Email extends Notification {
    String subject;


    public Email(String destinatary, String message, String subject) {
        super(destinatary, message);
        this.subject = subject;
    }

    @Override
    public void sendMessage() {
        System.out.println("Sending email to " + super.destinatary);
        System.out.println("Email subject : " + this.subject);
        System.out.println("Email body : " + super.message);
    }
}

Sms :

public class Sms extends Notification {
    public Sms(String destinatary, String message) {
        super(destinatary, message);
    }

    @Override
    public void sendMessage() {
        System.out.println("Sending SMS to " + super.destinatary);
        System.out.println("Message : " + super.message);
    }
}

Push :

public class Push extends Notification {
    String title;

    public Push(String destinatary, String message, String title) {
        super(destinatary, message);
        this.title = title;
    }

    @Override
    public void sendMessage() {
        System.out.println("Sending Push to " + super.destinatary);
        System.out.println(title);
    }
}
1 resposta

Oi, Igor! Como vai?

Agradeço por compartilhar.

Gostei da sua implementação do sistema de notificação, importante notar como você usou herança e sobrescrita do método sendMessage() para cada tipo de notificação, deixando o código organizado e fácil de entender. Isso mostra um bom entendimento de polimorfismo, já que cada classe responde de forma diferente ao mesmo método. Continue explorando esse padrão, ele é muito usado no dia a dia em Java.

Siga praticando esse tipo de estrutura, pois ela ajuda bastante na manutenção e evolução do código.

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