package design_pattern;
/****
* Factory Method Pattern (工厂方法模式)
*
*/
interface Mobile{
public void call();
}
interface MobileFactory{
public Mobile produceMobile();
}
class Motorla implements Mobile {
public void call() {
System.out.println("一部Motorla手机生成了!");
}
}
class Nokia implements Mobile {
public void call() {
System.out.println("一部Nokia手机生成了!");
}
}
class MotorlaFactory implements MobileFactory{
public Mobile produceMobile() {
// TODO Auto-generated method stub
System.out.print("摩托罗拉工厂制造了");
return new Motorla();
}
}
class NokiaFactory implements MobileFactory{
public Mobile produceMobile() {
// TODO Auto-generated method stub
摩托罗拉工厂制造了一部Motorla手机生成了!
诺基亚工厂制造了一部Nokia手机生成了!
System.out.print("诺基亚工厂制造了"); return new Nokia(); } } public class FactoryMethodPattern_02 { public static void main(String args[]){ MobileFactory mf; Mobile m ; mf = new MotorlaFactory(); m = mf.produceMobile(); m.call(); mf = new NokiaFactory(); m = mf.produceMobile(); m.call(); } }
显示结果:
摩托罗拉工厂制造了一部Motorla手机生成了!
诺基亚工厂制造了一部Nokia手机生成了!