例子一:
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); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。