简单工厂模式详细代码带注释
时间: 2023-11-12 09:10:16 浏览: 37
下面是一个简单工厂模式的示例代码,包含详细的注释:
```
// 定义抽象产品类
abstract class Product {
public abstract void use();
}
// 定义具体产品类A
class ProductA extends Product {
public void use() {
System.out.println("Product A is used.");
}
}
// 定义具体产品类B
class ProductB extends Product {
public void use() {
System.out.println("Product B is used.");
}
}
// 定义工厂类
class Factory {
// 工厂方法,根据传入的参数创建对应的产品对象
public static Product createProduct(String type) {
if (type.equals("A")) {
return new ProductA();
} else if (type.equals("B")) {
return new ProductB();
} else {
return null;
}
}
}
// 测试代码
public class Test {
public static void main(String[] args) {
// 使用工厂方法创建具体产品对象
Product productA = Factory.createProduct("A");
Product productB = Factory.createProduct("B");
// 调用产品对象的方法
productA.use();
productB.use();
}
}
```
在上面的代码中,我们定义了一个抽象产品类 `Product`,并且定义了两个具体产品类 `ProductA` 和 `ProductB`,它们都继承自抽象产品类 `Product` 并实现了其中的抽象方法 `use()`。
然后我们定义了一个工厂类 `Factory`,其中包含一个工厂方法 `createProduct()`,根据传入的参数来创建对应的产品对象。
在测试代码中,我们使用工厂方法 `createProduct()` 来创建具体的产品对象,并调用它们的方法。
这样,我们就可以通过工厂类来创建具体的产品对象,而不需要直接使用 `new` 关键字来创建,从而实现了解耦和灵活性。