public interface Sender{
public void send();
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class SmsSender implement Sender{
@Override
public void send(){
System.out.println("i am sms");
}
}
public interface Privoder{
public Sender factory(){
return new Sender();
}
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class MailProvider implement Provider{
@Override
public Sender factory(){
return new MailSender();
}
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class SmsProvider implement Provider{
@Override
public Sender factory(){
return new SmsSender();
}
}
pubilc staic void main(String[] args){
Provider provider = new MailProvider();
Sender sender = provider.factory();
sender.send();
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class MailSender implement Sender{
@Override
public void send(){
System.out.println("i am mail");
}
}
public class MailProvider implement Provider{
@Override
public Sender factory(){
return new MailSender();
}
}