您的位置:首页 > 其它

创建型设计模式——抽象工厂模式

2013-04-03 10:17 387 查看
动态的工厂,动态的产品!

工厂:

/**
* @author Administrator
*	工厂是动态的,产品也是动态
*/

public abstract class FoodFactory {

public abstract Humburger makeHum();

public abstract Chips makeChips();

}


工厂一:

public class KFCFactory extends FoodFactory {

@Override
public Chips makeChips() {
// TODO Auto-generated method stub
return new KFCChips();
}

@Override
public Humburger makeHum() {
// TODO Auto-generated method stub
return new KFCHumburger();
}

}


工厂二:

public class MCDFactory extends FoodFactory {

@Override
public Chips makeChips() {
// TODO Auto-generated method stub
return new MCDChips();
}

@Override
public Humburger makeHum() {
// TODO Auto-generated method stub
return new MCDHumburger();
}

}


薯条产品:

package com.lovo.factory.abstractfactory;

public abstract class Chips {

}


产品一:

public class MCDChips extends Chips {

}


产品二:

public class KFCChips extends Chips {

}


汉堡产品:

public abstract class Humburger {

}


产品一:

public class KFCHumburger extends Humburger {

}


产品二;

public class MCDHumburger extends Humburger {

public void eat(){

System.out.println("就喜欢吃MCD的汉堡!");
}
}


客户;

public class Client {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MCDFactory MCD = new MCDFactory();
MCDHumburger MCDhum = (MCDHumburger)MCD.makeHum();
MCDhum.eat();
}

}


效果:

就喜欢吃MCD的汉堡!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: