写一段关于工厂模式的Java的代码并详细注释
时间: 2023-04-01 20:03:11 浏览: 59
好的,以下是关于工厂模式的Java代码及注释:
// 定义一个接口,表示产品
interface Product {
void use();
}
// 定义一个具体的产品类A
class ProductA implements Product {
@Override
public void use() {
System.out.println("使用产品A");
}
}
// 定义一个具体的产品类B
class ProductB implements Product {
@Override
public void use() {
System.out.println("使用产品B");
}
}
// 定义一个工厂类,用于创建产品
class Factory {
public Product createProduct(String type) {
if ("A".equals(type)) {
return new ProductA();
} else if ("B".equals(type)) {
return new ProductB();
} else {
throw new IllegalArgumentException("无法创建该类型的产品");
}
}
}
// 在客户端中使用工厂类创建产品
public class Client {
public static void main(String[] args) {
Factory factory = new Factory();
Product productA = factory.createProduct("A");
productA.use(); // 输出:使用产品A
Product productB = factory.createProduct("B");
productB.use(); // 输出:使用产品B
}
}
// 注释:
// 1. 定义了一个接口Product,表示产品,其中包含一个use()方法,用于表示产品的使用方法。
// 2. 定义了两个具体的产品类ProductA和ProductB,它们都实现了Product接口,并实现了use()方法。
// 3. 定义了一个工厂类Factory,用于创建产品。其中的createProduct()方法根据传入的参数type来创建不同类型的产品。
// 4. 在客户端中使用工厂类创建产品,首先创建一个Factory对象,然后通过它的createProduct()方法来创建不同类型的产品。
// 5. 工厂模式的优点是可以将对象的创建和使用分离,客户端只需要知道要创建哪种类型的产品,而不需要知道具体的创建过程。