04 面向对象设计原则-依赖倒置原则

it2023-10-20  77

#01 面向对象设计原则-依赖倒置原则 #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; //银行工作人员 class BankWorker{ public: void saveService(){ cout << "办理存款业务..." << endl; } void payService(){ cout << "办理支付业务.." << endl; } void tranferService(){ cout << "办理转账业务.." << endl; } }; //中层模块 void doSaveBussiness(BankWorker* worker){ worker->saveService(); } void doPayBussiness(BankWorker* worker){ worker->payService(); } void doTransferBussiness(BankWorker* worker){ worker->tranferService(); } void test01(){ BankWorker* worker = new BankWorker; doSaveBussiness(worker); //办理存款业务 doPayBussiness(worker); //办理支付业务 doTransferBussiness(worker); //办理转账业务 } //银行工作人员 class AbstractWorker{ public: virtual void doBusiness() = 0; }; //专门负责办理存款业务的工作人员 class SaveBankWorer :public AbstractWorker{ public: virtual void doBusiness(){ cout << "办理存款业务..." << endl; } }; //专门办理支付业务的工作人员 class PayBankWorker : public AbstractWorker{ public: virtual void doBusiness(){ cout << "办理支付业务..." << endl; } }; //专门办理转账业务的工作人员 class TransferBankWorker : public AbstractWorker{ public: virtual void doBusiness(){ cout << "办理转账业务..." << endl; } }; //中层业务 功能可扩展 void doNewBusiness(AbstractWorker* worker){ worker->doBusiness(); delete worker; } void tesat02(){ doNewBusiness(new TransferBankWorker); doNewBusiness(new PayBankWorker); doNewBusiness(new SaveBankWorer); } int main(void){ tesat02(); return 0; }

 

最新回复(0)