设计模式--工厂方法

工厂方法:根据传递的实现了相同的接口的类的不同得到不同的类的对象。

 实现方式:程序在接口和子类之间加入了一个过渡端,通过此过渡端可以动态取得实现了共同接口的子类实例化对象。

代码:

  

//抽象出的接口
interface Fruit{
void MakeTin();
}
//工厂
class Factory {
//根据传递的参数不同返回不同的对象
public static Fruit getInsteance(String type){
if(type.equals("apple"))
{
return new Apple();
}else if(type.equals("banana"))
{
return new Banana();
}else
{
return null;
}
}
}
//产品1
class Apple implements Fruit{
public Apple() {
System.out.println("Constract----Apple");
}
@Override
public void MakeTin() {
System.out.println("make a apple tin");
}
}
//产品2
class Banana implements Fruit{
public Banana() {
System.out.println("Constract----Banana");
}
@Override
public void MakeTin() {
System.out.println("make a banana tin");
}
}

//测试
public class FactoryTest{
public static void main(String[]args){
Fruit f1 = Factory.getInsteance("apple");
Fruit f2 = Factory.getInsteance("banana");
f1.MakeTin();
f2.MakeTin();
}

执行结果:  

Constract----Apple
Constract----Banana
make a apple tin
make a banana tin

猜你喜欢

转载自www.cnblogs.com/lgs-star/p/9031602.html