简单工厂模式女娲造人

今天做了简单工厂模式的实验,下面是实验过程和步骤:

[实验任务一]:女娲造人

使用简单工厂模式模拟女娲(Nvwa)造人(Person),如果传入参数M,则返回一个Man对象,如果传入参数W,则返回一个Woman对象,如果传入参数R,则返回一个Robot对象。请用程序设计实现上述场景。

实验要求:

1. 画出对应的类图;

2. 提交源代码;

Java部分:

package Factory;

 

public interface Nvwa {

public void create();

}

 

package Factory;

 

public class Man implements Nvwa{

public void create() {

System.out.println("制造了男性");

}

 

}

 

package Factory;

 

public class Woman implements Nvwa{

public void create() {

System.out.println("制造了女性");

}

 

}

 

package Factory;

 

public class Robot implements Nvwa{

public void create() {

System.out.println("制造了机器人");

}

 

}

 

 

package Factory;

 

public class play {

public static Nvwa getperson(String arg) {

Nvwa nvwa=null;

if(arg.equalsIgnoreCase("M")) {

nvwa=new Man();

System.out.println("女娲要制造男性了");

 

}

else if(arg.equalsIgnoreCase("W")) {

nvwa=new Woman();

System.out.println("女娲要制造女性了");

}

else if(arg.equalsIgnoreCase("R")) {

nvwa=new Robot();

System.out.println("女娲要制造机器人了");

}

return nvwa;

}

}

package Factory;

 

public class Client {

public static void main(String[] args) {

Nvwa N;

N=play.getperson("R");

N.create();

}

}

C++部分:

#include<iostream>

#include<string>

using namespace std;

class Nvwa{

public :

virtual void create() = 0;

};

class Man : public Nvwa{

public :

void create(){

cout<<"制造了男性"<<endl;

}

};

class Woman : public Nvwa{

public :

void create() {

cout<<"制造了女性"<<endl;

}

};

class Robot : public Nvwa{

public :

void create() {

cout<<"制造了机器人"<<endl;

}

};

class play{

public :

static void getperson(string arg) {

Nvwa *nvwa;

if(arg=="M") {

nvwa=new Man();

cout<<"女娲要制造男性了"<<endl;

}

else if(arg=="W") {

nvwa=new Woman();

cout<<"女娲要制造女性了"<<endl;

}

else if(arg=="R") {

nvwa=new Robot();

cout<<"女娲要制造机器人了"<<endl;

}

nvwa->create();

}

};

int main(){

play a;

a.getperson("W");

return 0;

}

截图:

原文地址:https://www.cnblogs.com/092e/p/15530588.html