`
lichaozhangobj
  • 浏览: 99019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

抽象工厂设计模式

阅读更多

 

 

/**
 * 园丁
 */
public interface Gardener {
}

 

/**
 *  北方园丁
 */
public class NorthernGardener implements Gardener {

    public Fruit createFruit(String name) {
        return new NorthernFruit(name);//生产北方水果
    }

    public Veggie createVeggie(String name) {
        return new NorthernVeggie(name);//生产北方蔬菜
    }
}

 

/**
 * 南方园丁
 */
public class TropicalGardener implements Gardener {

    public Fruit createFruit(String name) {
        return new TropicalFruit(name);//生产南方水果
    }

    public Veggie createVeggie(String name) {
        return new TropicalVeggie(name );//生产南方蔬菜
    }
}

 

/**
 * 水果
 */
public interface Fruit {
    
}

 

/**
 * 北方水果
 */
public class NorthernFruit implements Fruit {

    private String name;
    public NorthernFruit(String name){
        
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

 

/**
 * 南方水果
 */
public class TropicalFruit implements Fruit {

    public TropicalFruit(String name){
        
    }
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

 

/**
 * 蔬菜
 */
public interface Veggie {

}

 

/**
 * 北方蔬菜
 */
public class NorthernVeggie implements Veggie {
    
    private String name;
    public NorthernVeggie(String name){
        
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

 

/**
 * 南方蔬菜
 */
public class TropicalVeggie implements Veggie {

    public TropicalVeggie(String name){
        
    }
    private String name;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

   

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics