设计模式中的工厂模式可大致分为3个,简单工厂、工厂方法、抽象工厂。

今天整理的是工厂方法模式,介绍如下:

JAVA 23种设计设计模式---工厂模式(工厂方法)

案列结构如下:

JAVA 23种设计设计模式---工厂模式(工厂方法)

代码结构如下:

 

JAVA 23种设计设计模式---工厂模式(工厂方法)

卡车:

package com.zxf.method;
//卡车(接口)
public interface Trunk_M {
    
    public void run();
}

卡车工厂:

package com.zxf.method;
//抽象工厂
public interface TrunkFactory {
    //创建卡车
    public Trunk_M produceTrunk();

}

奥迪卡车:

package com.zxf.method;

public class AodiTrunk implements Trunk_M {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("奥迪卡车启动!");

    }
}

奥迪卡车工厂:

package com.zxf.method;

public class AodiTrunkFactory implements TrunkFactory {

    @Override
    public Trunk_M produceTrunk() {
        // TODO Auto-generated method stub
        return new AodiTrunk();
    }
}

宝马卡车:

public class BmwTrunk implements Trunk_M {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("宝马卡车启动!");

    }
}

宝马卡车工厂:

package com.zxf.method;

public class BmwTrunkFactory implements TrunkFactory {

    @Override
    public Trunk_M produceTrunk() {
        // TODO Auto-generated method stub
        return new BmwTrunk();
    }
}

顾客(测试类):

package com.zxf.method;

public class Cunstomer_M {
    public static void main(String[] args) {
        TrunkFactory bm = new BmwTrunkFactory();//多态的形式
        bm.produceTrunk().run();
        
        TrunkFactory ad = new AodiTrunkFactory();//多态的形式
        ad.produceTrunk().run();
    }
}

测试类:

JAVA 23种设计设计模式---工厂模式(工厂方法)

 

相关文章:

  • 2021-06-28
  • 2021-04-14
  • 2022-12-23
  • 2021-11-26
  • 2021-12-06
  • 2017-11-30
  • 2021-10-01
猜你喜欢
  • 2021-07-09
  • 2021-12-09
  • 2022-12-23
  • 2021-07-21
  • 2022-01-28
  • 2021-08-10
相关资源
相似解决方案