• 每日博客


    简单工厂模式

    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

    1、理解简单工厂模式的动机,掌握该模式的结构;

    2、能够利用简单工厂模式解决实际问题。

     

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

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

    C++版

    #include <iostream>
    #include <string>
    using namespace std;

    class Person{
    protected:string sex;
    public:
    virtual void setsex(){};
    virtual string getsex(){return sex;}
    };
    class Man:public Person
    {
    public:
    virtual void setsex(){sex="男人";}
    virtual string getset(){return sex;}
    };
    class Woman:public Person
    {
    public:
    virtual void setsex(){sex="女人";}
    virtual string getsex(){return sex;}
    };
    class Robot:public Person
    {
    public:
    virtual void setsex(){sex="机器人";}
    virtual string getsex(){return sex;}
    };
    class Factory
    {
    public:
    static Person*produce(char c)
    {
    switch(c)
    {
    case 'M':
    {
    Person*pro=new Man();
    break;
    }
    case 'W':
    {
    Person*pro=new Woman();
    break;
    }
    case 'R':
    {
    Person*pro=new Robot();
    break;
    }
    }
    }
    };
    main()
    {
    Person*pro1;
    pro1=Factory::produce('M');
    pro1->setsex();
    string result1=pro1->getsex();
    cout<<"女娲造"<<result1<<endl;
    Person*pro2;
    pro2=Factory::produce('W');
    pro2->setsex();
    string result2=pro2->getsex();
    cout<<"女娲造"<<result2<<endl;
    Person*pro3;
    pro3=Factory::produce('R');
    pro3->setsex();
    string result3=pro3->getsex();
    cout<<"女娲造"<<result3<<endl;
    }

  • 相关阅读:
    *Convert Sorted Array to Binary Search Tree
    *Count Complete Tree Nodes
    *Binary Tree Paths
    Invert Binary Tree
    *Kth Smallest Element in a BST
    **Lowest Common Ancestor of Two Nodes in a Binary Tree
    Lowest Common Ancestor of a Binary Search Tree
    *Sum root to leaf number
    subversion javahl
    mongodb从来没有说它写成功了。
  • 原文地址:https://www.cnblogs.com/hfy717/p/15583163.html
Copyright © 2020-2023  润新知