黑馬程序員:Java基礎總結----裝飾設計模式

黑馬程序員:Java基礎總結



裝飾設計模式

 ASP.Net+Android+IO開發.Net培訓、期待與您交流!





裝飾設計模式

概述:
動態的給一個對象添加一些額外的職責,就增加功能來說,Decorator模式相比生成子類更爲靈活。
類型:
結構型模式。



當想要對已有的對象進行功能增強時,
可以定義類,將已有對象傳入,基於已有的功能,並提供加強功能。
那麼自定義的該類稱爲裝飾類。

裝飾類通常會通過構造方法接收被裝飾的對象。
並基於被裝飾的對象的功能,提供更強的功能

裝飾模式比繼承要靈活。避免了繼承體系臃腫。
而且降低了類於類之間的關係。

裝飾類因爲增強已有對象,具備的功能和已有的是相同的,只不過提供了更強功能。
所以裝飾類和被裝飾類通常是都屬於一個體系中的。

class Person {
       public void chifan() {
            System. out.println("吃飯" );
      }
}

class SuperPerson {
       private Person p ;

      SuperPerson(Person p) {
             this.p = p;
      }

       public void superChifan() {
            System. out.println("開胃酒" );
             p.chifan();
            System. out.println("甜點" );
            System. out.println("來一根" );
      }
}

public class Ts {
       public static void main(String[] args) {
            Person p = new Person();//先有人
             // p.chifan();
            SuperPerson sp = new SuperPerson(p);//把我傳進去
            sp.superChifan();

      }
}








 ASP.Net+Android+IO開發.Net培訓、期待與您交流!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章