设计模式——简单工厂
来源:互联网 发布:巨人网络注册 编辑:程序博客网 时间:2024/05/20 10:21
例子一:
package simpleFactory;public abstract class Operation {protected double NumberA;protected double NumberB;public double getNumberA(){return NumberA;}public double getNumberB(){return NumberB;}public void setNumberA(double n){NumberA = n;}public void setNumberB(double n){NumberB = n;}public abstract double getResult();}
package simpleFactory;public class Add extends Operation{@Overridepublic double getResult() {return NumberA + NumberB;}}
package simpleFactory;public class Minus extends Operation{@Overridepublic double getResult() {return NumberA - NumberB;}}
package simpleFactory;public class SimpleFactory {public static Operation createOperation(char o){switch(o){case '+':return new Add();case '-':return new Minus();default:return null;}}}
package simpleFactory;public class Client {public static void main(String[] args) {Operation add = SimpleFactory.createOperation('+');add.setNumberA(1);add.setNumberB(1);System.out.println(add.getResult());Operation minus = SimpleFactory.createOperation('-');minus.setNumberA(2);minus.setNumberB(3);System.out.println(minus.getResult());}}
例子二:
package simpleFactory2;public interface IUser {public void insert(String s);public String get(int id);}
package simpleFactory2;public class AccessUser implements IUser{@Overridepublic String get(int id) {System.out.println("AccessUser select from xx where ID = " + id);return null;}@Overridepublic void insert(String s) {System.out.println("insert into xx value " + s);}}
package simpleFactory2;public class SqlserverUser implements IUser{@Overridepublic String get(int id) {System.out.println("Sqlserver select from xx where ID = " + id);return null;}@Overridepublic void insert(String s) {System.out.println("Sqlserver insert into xx value " + s);}}
package simpleFactory2;public interface IFactory {public IUser createUser();}
package simpleFactory2;public class AccessFactory implements IFactory{@Overridepublic IUser createUser() {return new AccessUser();}}
package simpleFactory2;public class SqlserverFactory implements IFactory{@Overridepublic IUser createUser() {return new SqlserverUser();}}
package simpleFactory2;public class Client {public static void main(String[] args) {//IFactory factory = new SqlserverFactory(); IFactory factory = new AccessFactory();IUser user = factory.createUser();user.insert("test");user.get(1);}}
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 【设计模式】——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 设计模式——简单工厂模式
- 【设计模式】——简单工厂模式
- 设计模式——简单工厂模式
- sizeof(类)
- 第十四周任务一
- 每周一荐:Google的序列化框架Protobuf
- 12种JavaScript MVC框架之比较
- 大话编码
- 设计模式——简单工厂
- servlet应用之cookies&session操作
- Hibernate配置文件解析
- 定期任务的业务及其实现逻辑简单记录
- 快速排序<参考数据结构>
- 设计模式——工厂方法
- 你知道1+1=2是如何在cpu中运作的么?----跟我到cpu内部去看看吧!(1)
- 算法基础(三)——排序
- 面向对象语言编程的学习视频(类的封装性)