开闭原则

Posted strangemonkey

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开闭原则相关的知识,希望对你有一定的参考价值。

在实际代码中,为提高代码的可复用性(后期不用动),可维护性(后期不用改源代码),通过一个抽象类来定义,借助虚函数来定义不同的继承对象。

#define  _CRT_SECURE_NO_WARNINGS 
#include <iostream>

using namespace std;


//抽象类
class AbstractBanker
{
public:
    virtual void work() = 0; //抽象的接口
};

//存款
class SaveBanker:public AbstractBanker
{
public:
    virtual void work() {
        cout << "存款" << endl;
    }
};

//支付
class PayBanker:public AbstractBanker
{
public:
    virtual void work() {
        cout << "支付" << endl;
    }
};

//转账
class TransBanker:public AbstractBanker
{
public:
    virtual void work() {
        cout << "Trans" << endl;
    }
};

//添加一个办理基金的功能
class FuncBanker :public AbstractBanker
{
public:
    virtual void work() {
        cout <<"基金"<<endl;
    }
};


#if 0
class Banker
{
public:
    void save() {
        cout << "存款" << endl;
    }
    void pay() {
        cout << "支付" << endl;
    }
    void transfer() {
        cout << "转账" << endl;
    }


    //添加一个办理基金业务
    void fund() {
        cout << "办理基金" << endl;
    }
};
#endif

int main(void)
{
#if 0
    Banker b;

    //存款
    b.save();
    b.transfer();
#endif

    AbstractBanker *sb = new SaveBanker;
    sb->work();
    delete sb;

    AbstractBanker *tb = new TransBanker;
    tb->work();
    delete tb;

    return 0;
}

上述代码中,后期如果程序员想在类中加一个方法,就不用改动源代码。直接写个继承类即可。

注意:开辟内存new那一块注意对象名,用完之后得释放内存。

以上是关于开闭原则的主要内容,如果未能解决你的问题,请参考以下文章

开闭原则

设计模式软件设计七大原则 ( 开闭原则 )

设计模式六大原则:开闭原则

大话设计模式读书笔记——开闭原则

设计模式六大原则:开闭原则

开闭原则