zoukankan      html  css  js  c++  java
  • 简单工厂模式女娲造人

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

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

    使用简单工厂模式模拟女娲(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;

    }

    截图:

  • 相关阅读:
    网上常见的分享功能, 比如 点击分享到 人人 微博 空间 等都是怎么做的...
    qq客服代码实现过程
    cnzz友盟怎么安装网站统计代码监控网站流量
    本地部署151688过程记录
    本地部署151688过程记录20110526
    梦里秦淮:互联网商业模式≠成功
    要远离这些平台网站
    阿里旺旺新老版本共存
    豆皮拖鞋穿著確實感覺不太舒服,磨腳,好看是好看,還是沒有哥倫比亞好
    深圳批发市场有哪些好的呢?
  • 原文地址:https://www.cnblogs.com/092e/p/15530588.html
Copyright © 2011-2022 走看看