java設計模式 裝飾模式

2021-07-12 03:41:34 字數 1024 閱讀 9506

什麼是裝飾模式:

裝飾模式就是動態的為乙個物件新增新的功能,它是一種代替繼承的技術,毋須通過繼承增加子類就能拓展物件功能的模式。

開發中應用場景:

1.io流中,設計的輸入和輸出

2.servlet api提供的乙個re quest物件的decrator模式的預設實現類httpservletrequestwrap,遇到wrap字樣的基本都是裝飾模式

3.swing中圖形設計介面的功能

實現例子:

首先是設計裝飾模式介面,然後讓子類實現

/**

* 能力介面

* * @author liuxg

* @date 2023年5月27日 上午11:46:38

*/public

inte***ce

ability

public

class

person

implements

ability

}class

flyperson

implements

ability

@override

public

void whatablity()

}class

strengeperson

implements

ability

@override

public

void whatablity()

}class

changeperson

implements

ability

@override

public

void whatablity()

}

這裡我們是想裝飾乙個人,讓他有能飛,能變身,還還有超級大力氣,這三種能力除了能一起,還能相互組合,繼承做這個很麻煩吧

public

class client

}

Java 設計模式 裝飾模式

看了大話設計模式此章節多遍才稍微有點理解,特此記錄。深入淺出,通俗易懂。情景 小菜要去見未來女友 嬌嬌,來個服裝打扮的設計。第一彈 客戶端 public static void main string args 問題來了,嬌嬌喜歡超人,小菜這次想穿的是超人,咋辦?直接修改小菜的類嗎?這就違背了開閉原...

Java設計模式 裝飾模式

目錄 裝飾模式 定義 通用類圖 角色分類 抽象構件 component 具體構件 concretecomponent 裝飾角色 docorator 具體裝飾角色 concretedecoratora和b 裝飾模式與類繼承的區別 裝飾模式的特點 案例分析 輸出結果如圖所示 分析1 分析2 分析3 分析...

java設計模式 裝飾模式

裝飾 decorator 模式又叫做包裝模式。通 過一種對客戶端透明的方式來擴充套件物件的功能,是繼承關係的乙個替換方案。抽象元件角色 乙個抽象介面,是被裝飾類和 裝飾類的父介面。具體元件角色 為抽象元件的實現類。抽象裝飾角色 包含乙個元件的引用,並定義了 與抽象元件一致的介面。具體裝飾角色 為抽象...