欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

裝飾器模式

系統(tǒng) 1864 0
【轉(zhuǎn)】http://www.iteye.com/topic/317132
裝飾器涉及四個名詞
1、接口或者抽象基類
2、被裝飾對象,也就是一個簡單的實現(xiàn)了1中提到的接口或者抽象基類的實現(xiàn)類。
3、裝飾對象,就是去裝飾被裝飾對象的對象
4、繼承裝飾對象類的子類,也就是具體的裝飾器類了。
說了這么多,估計你基本跟沒聽說過一樣。好了,來段代碼,看看

//這是第一類名詞
public interface IDecorate
{
public void sayHello();
}

//這是第二類名詞
public class DecorateImpl implements IDecorate
{
public void sayHello()
{
System.out.print("Hello");
}
}

//這是第三類名詞,真正的裝飾器就在這里開始了,也是所有欲實現(xiàn)裝飾器的父類
public class Decorate implements IDecorate
{
//聲明一個被裝飾的對象
private IDecorate decorate;

//被裝飾對象從裝飾器的構(gòu)造函數(shù)中傳進來(必須這樣做)
public Decorate(IDecorate decorate)
{
this.decorate = decorate;
}

//在基類裝飾器中只調(diào)用被裝飾對象的方法
public void sayHello()
{
decorate.sayHello();
}
}
再對這個裝飾器的基類說明一下,在每個裝飾器模式中,這個類的結(jié)構(gòu)基本不變
或者說這上面是裝飾器第三類名詞中最小的類了,必須有以上定義的這些元素。

//這是第四類名詞,裝飾就看這里了
public class SimpleDecorate extends Decorate
{
public Decorate(IDecorate decorate)
{
super(decorate);
}

//開裝飾了哦。。。
public void sayHello()
{
//在原來的方法中加入了sayChina方法。
sayChina();

super.sayHello();

//在原來的方法中加入了sayWorld方法。
sayWorld();
}

public void sayChina()
{
System.out.print("China, ");
}

public void sayWorld()
{
System.out.print(" World!\n");
}
}

//來,測試一下
public void TestDecorate()
{
//不使用裝飾器
public static void unUseDecorate(IDecorate decorate)
{
//輸出 Hello
decorate.sayHello();
}

//使用裝飾器
public static void useDecorate(IDecorate decorate)
{
IDecorate simpleDecorate = new SimpleDecorate(decorate);

//要調(diào)用裝飾了的方法
//輸出 China, Hello World!
simpleDecorate.sayHello();
}

public static void main(String[] argv)
{
IDecorate decorate = new DecorateImpl();
}
}
//是不是發(fā)現(xiàn),原來只輸出的hello的方法被裝飾后,在其前和其后分別輸出了china和world啦。
裝飾器模式

看到裝飾器的威力了吧,把原來不變的方法改變了。那我們就來談?wù)勊氖褂脠鼍鞍桑?
1、裝飾器模式主要裝飾供外部調(diào)用的接口方法,如果一個接口方法只是提供給內(nèi)部調(diào)用,則不能使用該模式。
2、裝飾器模式主要裝飾可能要改變的接口方法,如果類中的某種行為在將來可能發(fā)生變化,而你又懶得去改變
?? 原來的類,那么就可以考慮使用裝飾器模式了。

裝飾器模式


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 大片在线免费观看 | 天天噜天天干 | chinese18 xxxx videos| 日韩国产一区二区 | 日本精品久久无码影院 | 欧美激情精品久久久久久变态 | 日韩精品一区二区三区中文在线 | 亚洲第一页在线观看 | 国产成人免费 | 午夜精品久久久久久久99热浪潮 | 久久久久亚洲视频 | www.久久色| 奇米777在线观看 | 日韩欧美亚洲综合 | 日本精品一二三区 | 性欧美久久 | 国产精品免费观看 | 欧美地区一二三区 | 激情婷婷成人亚洲综合 | 亚洲欧美一区二区三区在线 | 亚洲国产精品99久久久久久久久 | 91视频完整版 | 久久色亚洲| 1级片在线观看 | 午夜精品久久久久久久男人的天堂 | 日韩精品不卡 | 欧美激情a∨在线视频播放 中文字幕亚洲图片 | 欧美精品午夜久久久伊人 | 亚洲午夜成激人情在线影院 | 免费的av| 亚洲欧美精品 | 九九热视频这里只有精品 | 小视频你懂得 | 高清激情小视频在线观看 | 亚洲午夜在线 | 久久黄色大片 | 2021中文字幕亚洲精品 | 伊人久操| 极品xxxx欧美一区二区 | 狠狠干伊人网 | 久久久精品一区 |