使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数“M”,则返回一个Man对象,如果传入参数“W”,则返回一个Woman对象。现需要增加一个新的Robot类,如果传入参数“R”,则返回一个Robot对象,对代码进行修改并注意“女娲”的变化。用C#进行编程并且可以实现以上所有功能
时间: 2023-12-20 21:04:08 浏览: 37
首先,我们需要定义一个抽象类Person,它包括三个具体的子类:Man、Woman和Robot。
```c#
abstract class Person
{
public abstract void Create();
}
class Man : Person
{
public override void Create()
{
Console.WriteLine("Nvwa created a man.");
}
}
class Woman : Person
{
public override void Create()
{
Console.WriteLine("Nvwa created a woman.");
}
}
class Robot : Person
{
public override void Create()
{
Console.WriteLine("Nvwa created a robot.");
}
}
```
接下来,我们需要创建一个简单工厂类,用于根据传入的参数创建不同的对象。代码如下:
```c#
class PersonFactory
{
public static Person CreatePerson(string type)
{
switch (type)
{
case "M":
return new Man();
case "W":
return new Woman();
case "R":
return new Robot();
default:
throw new Exception("Invalid type");
}
}
}
```
最后,我们可以在程序中使用这个简单工厂类来创建具体的对象。例如:
```c#
static void Main(string[] args)
{
Person person1 = PersonFactory.CreatePerson("M");
person1.Create();
Person person2 = PersonFactory.CreatePerson("W");
person2.Create();
Person person3 = PersonFactory.CreatePerson("R");
person3.Create();
}
```
输出结果为:
```
Nvwa created a man.
Nvwa created a woman.
Nvwa created a robot.
```