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);
}
}