把对象的实例化工作延迟到工厂类中进行
import java.util.*;
abstract class Operation {
public abstract void Operate();
}
class Operation1 extends Operation {
public void Operate() {
System.out.println("Class Operation1 -- operate");
}
}
class Operation2 extends Operation {
public void Operate() {
System.out.println("Class Operation2 -- operate");
}
}
class Operation3 extends Operation {
public void Operate() {
System.out.println("Class Operation3 -- operate");
}
}
public class SimpleFactory {
public static Operation newOperation(String OperationType) {
Operation instance = null;
switch (OperationType) {
case "1":
instance = new Operation1();
break;
case "2":
instance = new Operation2();
break;
case "3":
instance = new Operation3();
break;
}
return instance;
}
public static void main(String[] args) {
Operation obj1 = SimpleFactory.newOperation("1");
obj1.Operate();
Operation obj2 = SimpleFactory.newOperation("2");
obj2.Operate();
Operation obj3 = SimpleFactory.newOperation("3");
obj3.Operate();
}
}
4395

被折叠的 条评论
为什么被折叠?



