提交所有代码文件

main
刘冬雪 4 months ago
commit 8539647d0a

@ -0,0 +1,12 @@
package src.main.java;
/**
* A
*
*/
public class ConcreteProductA implements Product {
@Override
public void operation() {
System.out.println("ConcreteProductA performing operation");
}
}

@ -0,0 +1,12 @@
package src.main.java;
/**
* B
*
*/
public class ConcreteProductB implements Product {
@Override
public void operation() {
System.out.println("ConcreteProductB performing operation");
}
}

@ -0,0 +1,24 @@
package src.main.java;
/**
*
*
*/
public class Factory {
/**
*
* @param type
* @return
*/
public static Product createProduct(String type) {
if (type == null) {
return null;
}
if (type.equalsIgnoreCase("A")) {
return new ConcreteProductA();
} else if (type.equalsIgnoreCase("B")) {
return new ConcreteProductB();
}
return null;
}
}

@ -0,0 +1,26 @@
package src.main.java;
/**
*
*
*/
public class FactoryTest {
public static void main(String[] args) {
// 测试创建ConcreteProductA
Product productA = Factory.createProduct("A");
System.out.println("Testing Product A:");
productA.operation();
// 测试创建ConcreteProductB
Product productB = Factory.createProduct("B");
System.out.println("\nTesting Product B:");
productB.operation();
// 测试无效类型
Product invalidProduct = Factory.createProduct("C");
System.out.println("\nTesting Invalid Product:");
if (invalidProduct == null) {
System.out.println("Invalid product type, returned null");
}
}
}

@ -0,0 +1,12 @@
package src.main.java;
/**
*
*
*/
public interface Product {
/**
*
*/
void operation();
}
Loading…
Cancel
Save