一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

設(shè)計(jì)模式--裝飾模式(Decorator)

 遙遠(yuǎn)的橋zz 2011-04-06
設(shè)計(jì)模式--裝飾模式(Decorator) 收藏
裝飾模式
概述
    動態(tài)地給一個(gè)對象添加一些額外的職責(zé)。就增加功能來說,Decorator模式相比生成子類更為靈活。適用性    1.在不影響其他對象的情況下,以動態(tài)、透明的方式給單個(gè)對象添加職責(zé)。
    2.處理那些可以撤消的職責(zé)。
    3.當(dāng)不能采用生成子類的方法進(jìn)行擴(kuò)充時(shí)。參與者    1.Component
      定義一個(gè)對象接口,可以給這些對象動態(tài)地添加職責(zé)。
    2.ConcreteComponent
      定義一個(gè)對象,可以給這個(gè)對象添加一些職責(zé)。
    3.Decorator
      維持一個(gè)指向Component對象的指針,并定義一個(gè)與Component接口一致的接口。
    4.ConcreteDecorator
      向組件添加職責(zé)。Exampleview plaincopy to clipboardprint?
Component
public interface Person {
    void eat();
}
ConcreteComponent
public class Man implements Person {
 public void eat() {
  System.out.println("男人在吃");
 }
}
Decorator
public abstract class Decorator implements Person {
    protected Person person;
   
    public void setPerson(Person person) {
        this.person = person;
    }
   
    public void eat() {
        person.eat();
    }
}
ConcreteDecorator
public class ManDecoratorA extends Decorator {
    public void eat() {
        super.eat();
        reEat();
        System.out.println("ManDecoratorA類");
    }
    public void reEat() {
        System.out.println("再吃一頓飯");
    }
}
public class ManDecoratorB extends Decorator {
   
    public void eat() {
        super.eat();
        System.out.println("===============");
        System.out.println("ManDecoratorB類");
    }
}
Test
public class Test {
    public static void main(String[] args) {
        Man man = new Man();
        ManDecoratorA md1 = new ManDecoratorA();
        ManDecoratorB md2 = new ManDecoratorB();
       
        md1.setPerson(man);
        md2.setPerson(md1);
        md2.eat();
    }
}
result
男人在吃
再吃一頓飯
ManDecoratorA類
===============
ManDecoratorB類
 
發(fā)表于 @ 2009年05月09日 17:39:00 | 評論( 0 ) | 編輯| 舉報(bào)| 收藏  
本文來自CSDN博客,轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/terryzero/archive/2009/05/10/4163730.aspx

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    在线观看中文字幕91| 91蜜臀精品一区二区三区| 日韩中文字幕在线不卡一区| 粉嫩内射av一区二区| 男生和女生哪个更好色 | 久久精品色妇熟妇丰满人妻91| 亚洲伊人久久精品国产| 午夜精品在线视频一区| 国产精品美女午夜福利| 亚洲国产另类久久精品| 精品人妻一区二区四区| 久久热在线视频免费观看| 久草视频这里只是精品| 中文文精品字幕一区二区| 日韩少妇人妻中文字幕| 久久99精品国产麻豆婷婷洗澡 | 色综合久久超碰色婷婷| 黄男女激情一区二区三区| 亚洲国产av在线视频| 成人欧美精品一区二区三区| 亚洲精品福利视频在线观看| 日韩人妻毛片中文字幕| 国产一区二区三区四区中文| 国产精品内射视频免费| 在线视频三区日本精品| 国产麻豆一区二区三区在| 日本一品道在线免费观看| 国产情侣激情在线对白| 青青久久亚洲婷婷中文网| 国产毛片不卡视频在线| 日韩成人中文字幕在线一区| 国产免费一区二区三区av大片| 自拍偷女厕所拍偷区亚洲综合| 国产欧美日韩一级小黄片| 一区二区三区四区亚洲专区| 激情五月综五月综合网| 欧美日韩久久精品一区二区| 国产一区二区三区精品免费| 亚洲午夜av一区二区| 福利一区二区视频在线| 亚洲男女性生活免费视频|