使用Java 使用简单工厂模式模拟女娲造人,根据传入的参数返回不同的对象,例如:传入参数M,则返回一个Man对象,传入参数W。则返回一个对象Woman,用java语言实现该场景。现在需要增加一个新的Robot类,如果传入参数R,则返回一个Robot对象。
时间: 2024-03-27 20:37:44 浏览: 58
好的,根据您的要求,我将提供一个简单工厂模式的Java代码实现:
首先,我们需要创建一个接口来表示人类的行为:
```java
public interface Human {
void talk();
void walk();
}
```
然后,我们需要创建三个类来实现这个接口:
```java
public class Man implements Human {
@Override
public void talk() {
System.out.println("Man is talking.");
}
@Override
public void walk() {
System.out.println("Man is walking.");
}
}
public class Woman implements Human {
@Override
public void talk() {
System.out.println("Woman is talking.");
}
@Override
public void walk() {
System.out.println("Woman is walking.");
}
}
public class Robot implements Human {
@Override
public void talk() {
System.out.println("Robot is talking.");
}
@Override
public void walk() {
System.out.println("Robot is walking.");
}
}
```
接下来,我们需要创建一个简单工厂类,根据传入的参数来创建不同的对象:
```java
public class HumanFactory {
public static Human createHuman(String gender) {
if (gender.equalsIgnoreCase("M")) {
return new Man();
} else if (gender.equalsIgnoreCase("W")) {
return new Woman();
} else if (gender.equalsIgnoreCase("R")) {
return new Robot();
} else {
throw new IllegalArgumentException("Invalid gender type.");
}
}
}
```
最后,我们可以在主函数中使用简单工厂来创建不同的对象:
```java
public class Main {
public static void main(String[] args) {
Human man = HumanFactory.createHuman("M");
man.talk();
man.walk();
Human woman = HumanFactory.createHuman("W");
woman.talk();
woman.walk();
Human robot = HumanFactory.createHuman("R");
robot.talk();
robot.walk();
}
}
```
这样,我们就可以根据传入的参数返回不同的对象了。如果传入参数M,则返回一个Man对象,传入参数W,则返回一个对象Woman,传入参数R,则返回一个Robot对象。
阅读全文