前言
工厂方法设计模式的实现:主要是创建一个接口或者抽象类来完成动物类的创建,随后用一个猫类或者狗类来实现这个接口或者继承这个类,这里演示的是接口。
提示:以下是具体实现,个中滋味可以自己体会
一、前期的准备类
动物接口
public interface Animal {
void eat();
}
猫类实现动物接口
public class Cat implements Animal {
@Override
public void eat() {
System.out.println("猫吃鱼");
}
}
狗类实现动物接口
public class Dog implements Animal {
@Override
public void eat() {
System.out.println("狗吃骨头");
}
}
二、创建一个接口
public interface CreateFactory {
Animal createAnimal();
}
随后直接用生产猫的工厂类实现这个接口,狗也类似即可。
public class CatFactory implements CreateFactory {
@Override
public Animal createAnimal() {
return new Cat();
}
}
public class DogFactory implements CreateFactory {
@Override
public Animal createAnimal() {
return new Dog();
}
}
三、测试类编写以及运行结果
public class Demo {
public static void main(String[] args) {
CatFactory catFactory = new CatFactory();
Animal animal = catFactory.createAnimal();
animal.show();
System.out.println("=============");
DogFactory dogFactory = new DogFactory();
animal = dogFactory.createAnimal();
animal.show();
}
}
运行结果如下:
猫吃鱼
=============
狗吃骨头
总结
创建的功能实现了,好处是后续增加新的类的话直接添加即可,不用改动CreateFactory这个接口。