- public abstract class Apple implements Fruit{public abstract void get();
- }
香蕉
- public abstract class Banana implements Fruit{
- public abstract void get();
- }
在写苹果香蕉的具体产品, 并各自继承对应的抽象类
北方苹果
- public class NorthApple extends Apple {
- @Override
- public void get() {
- System.out.println("采集北方苹果");
- }
- }
南方苹果
- public class SouthApple extends Apple{
- @Override
- public void get() {
- System.out.println("采集南方苹果");
- }
- }
北方香蕉
- public class NorthBanana extends Banana {
- @Override
- public void get() {
- System.out.println("采集北方香蕉");
- }
- }
南方香蕉
- public class SouthBanana extends Banana {
- @Override
- public void get() {
- System.out.println("采集南方香蕉");
- }
- }
接下来创建工厂, 而每一个产品族都对应一个具体的工厂, 每个产品族都包含苹果和香蕉, 所以每个工厂中都包含苹果和香蕉
抽象工厂
- public interface FruitFactory {
- // 实例化一个苹果
- public Fruit getApple();
- // 实例化一个香蕉
- public Fruit getBanana();
- }
来源: http://www.bubuko.com/infodetail-2510337.html