裝飾設計模式 2016.10.9

package 裝飾設計模式;

/*裝飾設計模式

* 當想要對已有的對象進行功能增強時。

* 可以定義類,將已有對象傳入,基于已有的功能,并提供加強功能。

* 那么自定義的該類成為裝飾類。

* 裝飾類通常會通過構造方法接受被裝飾的對象。

* 并基于被裝飾的對象的功能,提供更強的功能。

*

*

* 裝飾模式比繼承要靈活,避免了繼承體系臃腫

* 而且降低了類與類之間的關系

*

* 裝飾類因為增強已有對象,具備的功能和已有的是相同的,只不過提供了更強的功能

* 所以裝飾類和被裝飾類通常都屬于一個體系中

*

*/

public class PersonDemo {

public void chifan() {

System.out.println("吃飯");

}

public static void main(String[] args) {

// TODO Auto-generated method stub

PersonDemo p = new PersonDemo();

// p.chifan();

SuperPerson sp = new SuperPerson(p);

sp.superChiFan();

}

}

///////////////////////////////

package 裝飾設計模式;

public class SuperPerson {

private PersonDemo p;

public SuperPerson(PersonDemo p) {

// TODO Auto-generated constructor stub

this.p = p;

}

public void superChiFan() {

// TODO Auto-generated method stub

System.out.println("開胃酒");

// System.out.println("吃飯");

p.chifan();

System.out.println("smoking");

}

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 一、 1、請用Java寫一個冒泡排序方法 【參考答案】 public static void Bubble(int...
    獨云閱讀 1,421評論 0 6
  • END周二下午好! :) 【如果需要PPT版源文件,可以在評論區留言。】
    吳翰中閱讀 402評論 1 3
  • 突然發現,自己一無所有。 輸的一敗涂地。 一無所有,一敗涂地。
    鉛筆只演繹黑白閱讀 152評論 4 2