factroies机制
时间: 2023-02-05 17:08:29 浏览: 44
工厂是一种设计模式,它提供了一种方法来创建对象,而无需直接使用关键字 `new`。工厂方法把对象的创建过程抽象出来,使得创建过程可以被子类重写。
这个模式的主要作用是解耦,因为如果直接在代码中使用 `new` 创建对象,那么在运行时就必须确定要创建的具体类型。如果使用工厂方法,则只需要知道工厂方法的接口,而无需知道实际创建的对象的类型。
举个例子,假设有一个抽象类 `Shape` 和它的两个子类 `Circle` 和 `Square`,以及一个类 `ShapeFactory`,你可以这样使用工厂方法:
```
Shape shape1 = ShapeFactory.getShape("circle");
Shape shape2 = ShapeFactory.getShape("square");
shape1.draw();
shape2.draw();
```
在这个例子中,`ShapeFactory` 是工厂类,它有一个静态方法 `getShape`,可以根据传入的参数创建不同的形状对象。在这里,你并不需要知道具体创建的是 `Circle` 还是 `Square`,只需要调用工厂的方法即可。
工厂方法的优点在于它可以解耦,使得客户端代码与具体的对象实现解耦。同时,工厂方法也可以方便地扩展,因
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)