首先是一个实现例子的贴图:
思想:就拿上图举个例,首先,我们创建一个shape接口,这个接口里定义了一个抽象方法draw(),于是,我们创建了三个shape接口的子类Circle,Square,Rectangel,根据自身属性的不同,去实现这个shape接口中的抽象方法draw()。接着,我们编写一个shapeFactory类,相当于构造一个工厂,用户可以通过这个类去调用实现shape接口的不同类型的具体类,至于具体调用规则是什么,用户可以通过输入参数的不同来选择,是我们进行选择地方,最后的这个FactoryPatternDemo()类就是用户进行操作的地方,里面有具体的main函数。以下是对上述例子的具体实现:
步骤 1
创建一个接口:
Shape.java
步骤 2
创建实现接口的实体类。
Rectangle.java
Square.java
Circle.java
步骤 3
创建一个工厂,生成基于给定信息的实体类的对象。
ShapeFactory.java
步骤 4
使用该工厂,通过传递类型信息来获取实体类的对象。
FactoryPatternDemo.java
步骤 5
执行程序,输出结果:
Inside Circle::draw() method. Inside Rectangle::draw() method. Inside Square::draw() method.