結構型模式(三):Decorator ( 裝飾模式 )

來源:互聯網
上載者:User

裝飾模式以對用戶端透明的方式擴充項物件的功能,是繼承關係的一個替代方案,提供比繼承更多的靈活性。動態給一個對象增加功能,這些功能可以再動態撤消。增加由一些準系統的排列組合而產生的非常大量的功能。

 1 interface Person{
2 public void eat();
3 }
4
5 class Man implements Person{
6 public void eat() {
7 System.out.println("吃飯");
8 }
9 }
10
11 class Decorator implements Person{
12 private Man man;
13 public void setMan(Man man) {
14 this.man = man;
15 }
16 public void eat() {
17 man.eat();
18 }
19 }
20
21 class ManDecorator extends Decorator{
22 public void eat() {
23 super.eat();
24 soup();//增加的功能
25 }
26 private void soup(){
27 System.out.println("喝湯");
28 }
29 }
30
31 public class Test {
32 public static void main(String[] args) {
33 Man man=new Man();
34 ManDecorator p=new ManDecorator();
35 p.setMan(man);
36 p.eat();
37 }
38 }

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.