设计模式之抽象工厂模式

    xiaoxiao2021-04-16  32

    前面提到工厂模式是一对一,现在的抽象工厂则是一对多了。

    上代码:

    首先猫接口:

    public interface Cat { public void speak(); }

    猫下面分为黑猫白猫,具体实现: 黑猫:

    public class BlackCat implements Cat { @Override public void speak() { System.out.println("I am hei miao~"); } }

    白猫:

    public class WhiteCat implements Cat{ @Override public void speak() { System.out.println("I am bai miao~"); } }

    然后狗接口:

    public interface Dog { public void speak(); }

    狗下面分为黑狗白狗: 白狗:

    public class WhiteDog implements Dog{ @Override public void speak() { System.out.print("I am hei wang~"); } }

    黑狗:

    public class BlackDog implements Dog { @Override public void speak() { System.out.print("I am bai wang~"); } }

    ok,动物类这边结束,接下来是工厂: 动物工厂,里面有获得猫以及获得狗的方法

    public interface AnimalFactory { Cat getCat(); Dog getDog(); }

    然后具体的黑动物工厂:

    public class BlackAnimalFactory implements AnimalFactory{ @Override public Cat getCat() { return new BlackCat(); } @Override public Dog getDog() { return new BlackDog(); } }

    白动物工厂:

    public class WhiteAnimalFactory implements AnimalFactory{ @Override public Cat getCat() { return new WhiteCat(); } @Override public Dog getDog() { return new WhiteDog(); } }

    工厂结束,接下来具体实现类:

    public class testMain3 { public static void main(String[] args) { AnimalFactory animalFactory = new WhiteAnimalFactory(); Cat cat = animalFactory.getCat(); cat.speak(); } }

    OK,Done!

    转载请注明原文地址: https://ju.6miu.com/read-672480.html

    最新回复(0)