首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

我的設計模式之旅[6]:Adapter Pattern 類別適配器 ISO C++ 與 C# 經典實作

     編輯:關於C語言

ISO C++ 使用多重繼承:Adapter : public ITarget, private Adaptee(介面公有、實作私有)。C# 單一繼承:Adapter : Adaptee, ITarget(繼承類別、實作介面)。

ISO C++

class Adapter : public ITarget, private Adaptee {
public:
    virtual void request() const { specificRequest(); }
};

C#

class Adapter : Adaptee, ITarget {
    public void request() { specificRequest(); }
}

C++ 私有繼承隱藏實作細節,C# 僅能公開繼承類別。兩者 request() 均直接呼叫繼承而來的 specificRequest(),無需額外委派欄位,程式碼最精簡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved