The Factory pattern

来源:互联网 发布:海岛大亨4 mac 汉化 编辑:程序博客网 时间:2024/05/19 14:18

 

public class Factory {

public static void main(String[] args) {//Client
IFruit fruit=Factorytemp.getFruit("香蕉");//这里为什么要使用接口的类型,因为接口的引用可以接收实现此接口的类的实例
if(fruit!= null){
System.out.println(fruit.get());
}else{
System.out.println("sorry!");
}

}

}

interface IFruit{//可以定义接口或者使用抽象类
public String get();
}

class Factorytemp{//工厂类,根据一定的条件创建某一具体类的实例
public static IFruit getFruit(String name){//公有的静态方法,通过类名.方法名调用
if(name.equals("苹果")){
return new Apple();
}
else if(name.equals("橘子")){
return new Orange();
}
else{
return null;
}
}
}
class Apple implements IFruit{//具体的产品(被实例的类),通常具有共同的接口或者父类
public String get(){
return "采摘苹果";
}
}
class Orange implements IFruit{//具体的产品(被实例的类),通常具有共同的接口或者父类
public String get(){
return "采摘橘子";
}
}

0 0
原创粉丝点击