1. 程式人生 > >JAVA----裝飾者模式

JAVA----裝飾者模式

JAVA裝飾者模式設計流程:
如果對於A要增強A的方法,即可採用裝飾者模式來實現。
定義一個B。其中B與A要實現同一介面,而在B中要提供一個帶引數的構造方法

Class A implements C;
Class B implements C{
    private a;
    public B(c){
        this.c=c;
    }
    //然後寫要增強的方法
    ........
}

如果是直接採用繼承的方式來增強某個類的方法的話需要不斷繼承,而且每多一個方法就要寫一個子類,如果有n個方法,需要寫2^n - 1 個子類才能實現全部的方法混搭,但是利用裝飾者模式則只需要寫n個類即可,因為每次構造可以傳一個已經裝飾過的物件來構造。