java-工厂模式

来源:互联网 发布:长兴人民法院淘宝拍卖 编辑:程序博客网 时间:2024/06/08 07:03

举个例子:

接口:

package com.iweb.factory;public interface Sender {public abstract void send();//接口中只有一个send方法}


用于判断的中转站:

package com.iweb.factory;public class SendFactory {/** * 返回类型是sender,生产方法 * 判断要生产的是哪个工厂类,返回new出来的新对象 */public Sender produce(String type){if("mail".equals(type)){return new Msend();}else if("mes".equals(type)){return new Esender();}else{System.out.println("none");return null;}}}

两个实现类:

package com.iweb.factory;public class Msend implements Sender {@Overridepublic void send() {// TODO Auto-generated method stubSystem.out.println("this is mail-sender");//实现了sender接口,重写了send方法}}

package com.iweb.factory;public class Esender implements Sender {@Overridepublic void send() {// TODO Auto-generated method stubSystem.out.println("this is mes-sender");//实现了sender接口,重写了send方法}}

测试类:

package com.iweb.factory;public class Test {public static void main(String[] args){SendFactory a = new SendFactory();Sender sender = a.produce("mail");sender.send();}}



原创粉丝点击