《設計模式》學習筆記——介面卡模式
阿新 • • 發佈:2018-12-17
介面卡模式(Adapter Pattern)是作為兩個不相容的介面之間的橋樑。 將一個類的介面轉換成另一個類的介面,使原本因為介面不相容的類能夠相互工作。 這種型別的設計模式屬於結構型模式,它結合了兩個獨立介面的功能。 這種模式涉及到一個單一的類,該類負責加入獨立的或不相容的介面功能。
AdapterPattern.h
#pragma once #include<iostream> #include<string> class Current18V { public: virtual void useCurrent18V() = 0; }; class Current220V { public: void useCurrent220V(void) { std::cout << "當前使用電壓220V" << std::endl; } }; class AdapterPattern:public Current18V { public: AdapterPattern(Current220V * current220V):m_current220V(current220V) {}; ~AdapterPattern() { delete m_current220V; }; virtual void useCurrent18V(void) { std::cout << "介面卡內部" << std::endl; m_current220V->useCurrent220V(); std::cout << "適配18V" << std::endl; } private: Current220V * m_current220V; };
AdapterPattern.cpp
#include "AdapterPattern.h"
mainTest.cpp
#include<iostream> #include"AdapterPattern.h" int main(void) { Current220V* current220V = new Current220V; AdapterPattern* adapterPattern = new AdapterPattern(current220V); adapterPattern->useCurrent18V(); delete adapterPattern; adapterPattern = nullptr; adapterPattern = nullptr; system("pause"); return 0; }