设计模式——简单工厂
发布时间:2020-12-12 14:36:41 所属栏目:MsSql教程 来源:网络整理
导读:例子一: 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){Number
例子一:
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{ @Override public double getResult() { return NumberA + NumberB; } } package simpleFactory; public class Minus extends Operation{ @Override public 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{ @Override public String get(int id) { System.out.println("AccessUser select from xx where ID = " + id); return null; } @Override public void insert(String s) { System.out.println("insert into xx value " + s); } } package simpleFactory2; public class SqlserverUser implements IUser{ @Override public String get(int id) { System.out.println("Sqlserver select from xx where ID = " + id); return null; } @Override public 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{ @Override public IUser createUser() { return new AccessUser(); } } package simpleFactory2; public class SqlserverFactory implements IFactory{ @Override public 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); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |