开闭原则
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那一块注意对象名,用完之后得释放内存。
以上是关于开闭原则的主要内容,如果未能解决你的问题,请参考以下文章