使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man对象,如果传入参数“W”,则返回一个Woman对象。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意“女娲”的变化。
时间: 2023-12-18 17:05:48 浏览: 202
首先,我们需要定义一个接口或抽象类来表示造物主——女娲(Nvwa)。
```java
public interface Nvwa {
Person createPerson(String type);
}
```
然后,我们需要实现这个接口,使用简单工厂模式来创建不同类型的人类。
```java
public class NvwaImpl implements Nvwa {
@Override
public Person createPerson(String type) {
if (type == null) {
return null;
}
if (type.equalsIgnoreCase("M")) {
return new Man();
} else if (type.equalsIgnoreCase("W")) {
return new Woman();
} else if (type.equalsIgnoreCase("R")) {
return new Robot();
}
return null;
}
}
```
在这个实现中,我们根据传入的类型参数来创建相应的人类对象。如果传入的类型不是“M”或“W”或“R”,则返回null。
接下来,我们需要定义三个不同类型的人类:Man、Woman和Robot。
```java
public interface Person {
void sayHello();
}
```
```java
public class Man implements Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a man.");
}
}
```
```java
public class Woman implements Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a woman.");
}
}
```
```java
public class Robot implements Person {
@Override
public void sayHello() {
System.out.println("Hello, I am a robot.");
}
}
```
最后,我们可以使用这些类来创建不同类型的人类。
```java
public class Main {
public static void main(String[] args) {
Nvwa nvwa = new NvwaImpl();
Person man = nvwa.createPerson("M");
man.sayHello();
Person woman = nvwa.createPerson("W");
woman.sayHello();
Person robot = nvwa.createPerson("R");
robot.sayHello();
}
}
```
以上就是使用简单工厂模式模拟女娲(Nvwa)造人(Person)的示例代码。
阅读全文