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;
}
}
本文介绍了一种使用Java实现的工厂模式案例,通过定义一个抽象产品角色接口Fruit,并实现两个具体产品角色Apple和Orange,展示了如何通过Factory工厂类根据不同输入创建相应的产品实例。
669

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



