public class Factory1 {
public static void main(String[] args) {
Fruit f=Factory.getInstance("Apple");
f.eat();
}
}
//抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现
interface Fruit{
public void eat();
}
//具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。
class Apple implements Fruit{
public void eat(){
System.out.println("apple");
}
}
class Orange implements Fruit{
public void eat(){
System.out.println("orange");
}
}
//工厂类:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现
class Factory {
public static Fruit getInstance(String className) {
Fruit f = null;
if (className.equals("Apple")) {
f = new Apple();
}
if (className.equals("orange")) {
f = new Orange();
}
return f;
}
}
public static void main(String[] args) {
Fruit f=Factory.getInstance("Apple");
f.eat();
}
}
//抽象产品角色:它一般是具体产品继承的父类或者实现的接口。在java中由接口或者抽象类来实现
interface Fruit{
public void eat();
}
//具体产品角色:工厂类所创建的对象就是此角色的实例。在java中由一个具体类实现。
class Apple implements Fruit{
public void eat(){
System.out.println("apple");
}
}
class Orange implements Fruit{
public void eat(){
System.out.println("orange");
}
}
//工厂类:这是本模式的核心,含有一定的商业逻辑和判断逻辑。在java中它往往由一个具体类实现
class Factory {
public static Fruit getInstance(String className) {
Fruit f = null;
if (className.equals("Apple")) {
f = new Apple();
}
if (className.equals("orange")) {
f = new Orange();
}
return f;
}
}