java常用设计模式--工厂方法模式简单例子

package com.ruanyun;

/**
* @Auther: maxw
* @Date: 2018/11/12 11:02
* @Description:工厂方法模式:有四个角色,抽象工厂模式,具体工厂模式,抽象产品模式,具体产品模式。
  不再是由一个工厂类去实例化具体的产品,而是由抽象工厂的子类去实例化产品。
  还有个抽象工厂方法模式:只需要再加一个产品接口 比如衣服接口 然后实现 就变成了抽象工厂方法模式。
*/
public class Test6 {
public static void main(String args[]){
ShoesFactory liNingFactory = new LiNingFactory();
Shoes liNing = liNingFactory.create();
liNing.run();
ShoesFactory nikeFactory = new NikeFactory();
Shoes nike = nikeFactory.create();
nike.run();
}
}
//定义一个鞋子接口
interface Shoes{
void run();
}
//李宁鞋子
class LiNing implements Shoes{
@Override
public void run() {
System.out.println("李宁的鞋子就是舒服。。。");
}
}
//耐克鞋子
class Nike implements Shoes{
@Override
public void run() {
System.out.println("耐克的鞋子就是贵。。。");
}
}
//定义一个抽象鞋工厂
abstract class ShoesFactory{
abstract Shoes create();
}
//李宁鞋厂
class LiNingFactory extends ShoesFactory{
@Override
Shoes create() {
System.out.println("李宁鞋厂生产了李宁的鞋子。。。");
return new LiNing();
}
}
//耐克鞋厂
class NikeFactory extends ShoesFactory{
@Override
Shoes create() {
System.out.println("耐克鞋厂生产了耐克的鞋子。。。");
return new Nike();
}
}

 


posted @ 2018-11-12 11:19  MsencSir  阅读(193)  评论(0编辑  收藏  举报