本文共 1445 字,大约阅读时间需要 4 分钟。
Bridge Pattern被称之为桥接模式,属于构造型模式。Bridge Pattern基于类的最小设计原则,通过使用封装、聚和以及继承等行为来让不同的类承担不同的责任。它的主要特点是把抽象类与行为实现分离开来,从而可以保持各个部分的独立性以及对应它们的功能扩展 。
#pragma once#include#include // 抽象接口class Engine{public: virtual void InstallEngine() = 0;private:protected:};// 具体引擎类class Engine4400CC:public Engine{public: virtual void InstallEngine() { std::cout << "Install Engine4400CC" << std::endl; }private:protected:};// 具体引擎类class Engine4500CC :public Engine{public: virtual void InstallEngine() { std::cout << "Install Engine4500CC" << std::endl; }private:protected:};// 抽象接口class Car{public: Car(Engine * engine):m_engine(engine){} virtual~Car() { delete m_engine; } virtual void InstallEngine() = 0;private: protected: Engine * m_engine;};// 具体实现类class WBM5:public Car{public: WBM5(Engine * engine) :Car(engine) {} virtual~WBM5() { } virtual void InstallEngine() { m_engine->InstallEngine(); }private:protected:};// 具体实现类class WBM6 :public Car{public: WBM6(Engine * engine) :Car(engine) {} virtual ~WBM6() { } virtual void InstallEngine() { m_engine->InstallEngine(); }private:protected:};class Brige{public: Brige() {}; ~Brige() {};};
#include "Brige.h"
#include#include"Brige.h"int main(void){ Engine* engine = new Engine4400CC; WBM6* wbm6 = new WBM6(engine); wbm6->InstallEngine(); delete wbm6; wbm6= new WBM6(new Engine4500CC); wbm6->InstallEngine(); delete wbm6; system("pause"); return 0;}
转载地址:http://rhmsi.baihongyu.com/