网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

工厂模式和原型模式

1、工厂模式

创新互联:于2013年成立为各行业开拓出企业自己的“网站建设”服务,为上1000家公司企业提供了专业的成都网站建设、网站制作、网页设计和网站推广服务, 按需网站开发由设计师亲自精心设计,设计的效果完全按照客户的要求,并适当的提出合理的建议,拥有的视觉效果,策划师分析客户的同行竞争对手,根据客户的实际情况给出合理的网站构架,制作客户同行业具有领先地位的。

  面向抽象类编程,底下可以接N多个生产某种的具体工厂;

  简单工厂模式:专门定义一个类来负责创建其它类的实例,被创建的实例通常都具有共同的父类;


2、具体实现

  (1)、代码如下

#include
using namespace std;

class Fruit{
    public:
        virtual void sayname() = 0;
    private:

};

class Banana : public Fruit{
    public:
        void sayname(){
            cout<<"我是香蕉"<CreateProduct();
    fruit->sayname();

    //吃梨
    factory = new PearFactory;
    fruit = factory->CreateProduct();
    fruit->sayname();
    delete factory;

    return 0;
}

  (2)、运行结果

工厂模式和原型模式

 (3)、工厂模式

  扩展性不好;

3、原型模式

  提供一个clone()接口,让普通对象拥有自我复制的功能!

 相当于拷贝构造函数的编写;(当有成员为指针时)这个牵扯深拷贝和浅拷贝的问题;

4、具体实现

  (1)、代码如下

#include
#include
using namespace std;

class Person{
    public:
        virtual Person *clone() = 0;
        virtual void printT() = 0;
    private:
};

class Cplus : public Person{
    public:
        Cplus(){
            m_name = ""; 
            m_age = 0;
        }   
        Cplus(string name, int age){
            m_name = name;
            m_age = age;
        }   
        virtual void printT(){
            cout<<"m_name:"<printT();

    Person *c2 = c1->clone();
    c2->printT();

    return 0;
}

 (2)、运行结果

工厂模式和原型模式


分享题目:工厂模式和原型模式
当前URL:http://bjjierui.cn/article/jcpspe.html

其他资讯