工厂方法模式-案例二

Alanni ·
更新时间:2024-09-21
· 732 次阅读

步骤一:

定义DogFactory.java接口

package FactoryMethod; public interface DogFactory { Dog createDog(); }

步骤二:

定义工厂的两个实现类

muyangFactory.java

package FactoryMethod; /** * @program: MyFactory * @ClassName muyangFactory * @description: * @author: hc * @create: 2020-03-19 21:46 * @Version 1.0 **/ class muyangFactory implements DogFactory { @Override public Dog createDog() { return new muyang(); } }

tianyuanFactory.java

package FactoryMethod; /** * @program: MyFactory * @ClassName ConcreteAnimal * @description: * @author: hc * @create: 2020-03-19 00:33 * @Version 1.0 **/ class tianyuanFactory implements DogFactory { @Override public Dog createDog() { return new tianyuan(); } }

步骤三:
定义狗狗的抽象类,专门用来定义属性
Dog.java

package FactoryMethod; //狗狗接口 public abstract class Dog { //创建金毛的抽象方法 public abstract void white(); //创建柯基的抽象方法 public abstract void yellow(); //创建牧羊犬的抽象方法 public abstract void black(); }

步骤四:

定义田园犬和牧羊犬属性

tianyuan.java

package FactoryMethod; class tianyuan extends Dog { @Override public void white() { System.out.println("创建了一只白色的田园犬"); } @Override public void yellow() { System.out.println("创建了一只黄色的田园犬"); } @Override public void black() { System.out.println("创建了一只黑色的田园犬"); } }

muyang.java

package FactoryMethod; /** * @program: MyFactory * @ClassName muyang * @description: * @author: hc * @create: 2020-03-19 21:46 * @Version 1.0 **/ class muyang extends Dog { @Override public void white() { System.out.println("创建了一只白色的牧羊犬"); } @Override public void yellow() { System.out.println("创建了一只黄色的牧羊犬"); } @Override public void black() { System.out.println("创建了一只黑色的牧羊犬"); } }

步骤五:

实现类index.java

package FactoryMethod; import FactoryMethod.Dog; /** * @program: MyFactory * @ClassName FactoryMethod.Index * @description: * @author: hc * @create: 2020-03-19 00:59 * @Version 1.0 **/ public class Index { public static void main(String[] args) { DogFactory dog1 = new tianyuanFactory(); Dog tianyuandog = dog1.createDog(); tianyuandog.white(); tianyuandog.yellow(); tianyuandog.black(); System.out.println("------------------------------------------------------------"); DogFactory dog2 = new muyangFactory(); Dog muyangDog = dog2.createDog(); muyangDog.white(); muyangDog.yellow(); muyangDog.black(); } }

运行结果:

创建了一只白色的田园犬 创建了一只黄色的田园犬 创建了一只黑色的田园犬 ------------------------------------------------------------ 创建了一只白色的牧羊犬 创建了一只黄色的牧羊犬 创建了一只黑色的牧羊犬 Process finished with exit code 0
作者:返璞归真c



工厂方法模式 方法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章