設計模式 裝飾器模式

2021-09-24 07:02:19 字數 1668 閱讀 3846

在玩lol的時候,我們會對喜歡的英雄購買相應的**,每種**都有不同的效果。

裝飾器模式是指在不改變現有物件結構的情況下,可以動態的對當前物件增加新的職責,它屬於物件結構型模式。

裝飾器模式通過拓展的方式來修改物件,比繼承更靈活; 對同乙個物件可以新增多個裝飾類,可以進行多種組合。

//抽象構件介面

public inte***ce component

複製**

//具體構件

public class concretecomponent implements component

@override

public void operation

() }

複製**

//抽象裝飾器

public abstract class decorator implements component

@override

public void operation

() }

複製**

//具體裝飾器

public class concretedecorator extends decorator

@override

public void operation

() private void addfunction

() }

複製**

public inte***ce champion 

複製**

public class jhin implements champion 

}複製**

public abstract class skindecorator implements champion 

@override

public void display

() }

複製**

public class jhinskindecorator extends skindecorator 

@override

public void display

() private void skineffect

() }

複製**

public class jhinskindecorator2 extends skindecorator 

@override

public void display

() private void skineffect

() }

複製**

public class main 

}複製**

我是戲命師-燼

燼**特效:更炫酷

我是戲命師-燼

燼**特效:更拉風

複製**

裝飾器模式適用於那些可以對現有功能進行動態的增加和刪除的模組。也可以用於將那些需要對基礎功能進行組合,此時採用繼承難以實現,而使用裝飾器則相對容易實現。

設計模式 裝飾器模式

裝飾器模式 decorator pattern 允許向乙個現有的物件新增新的功能,同時又不改變其結構。這種型別的設計模式屬於結構型模式,它是作為現有的類的乙個包裝。這種模式建立了乙個裝飾類,用來包裝原有的類,並在保持類方法簽名完整性的前提下,提供了額外的功能。public inte ce playe...

設計模式 裝飾器模式

裝飾者模式的應用場景 裝飾者模式 decorator pattern 是指在不改變原有物件的基礎之上,將功能附加到物件上,提供了比繼承更有彈性的替代方案 擴充套件原有物件的功能 屬於結構型模式。裝飾者模式在我們生活中應用也比較多如給煎餅加雞蛋 給蛋糕加上一些水果 給房子裝修等,為物件擴充套件一些額外...

設計模式 裝飾器模式

定義 裝飾模式可以動態的給乙個物件增加一些額外的功能 增強功能 相比於繼承,裝飾模式能對不支援繼承的類進行增強 並且比繼承更靈活,不需要生成大量的子類。角色 實現 public abstract class house public abstract void sleep public class ...