97色伦色在线综合视频,无玛专区,18videosex性欧美黑色,日韩黄色电影免费在线观看,国产精品伦理一区二区三区,在线视频欧美日韩,亚洲欧美在线中文字幕不卡

東莞網(wǎng)站建設(shè)咨詢上海網(wǎng)站開發(fā)團(tuán)隊

鶴壁市浩天電氣有限公司 2026/01/24 08:43:22
東莞網(wǎng)站建設(shè)咨詢,上海網(wǎng)站開發(fā)團(tuán)隊,淘寶客網(wǎng)站建設(shè),網(wǎng)站頁面seo文章目錄 什么是裝飾者模式裝飾者模式中的角色抽象構(gòu)件#xff08;Component#xff09;角色具體構(gòu)件#xff08;Concrete Component#xff09;角色裝飾#xff08;Decorator#xff09;角色具體裝飾#xff08;Concrete Decorator#xff09;角色測試的時候到了尾聲 …文章目錄什么是裝飾者模式裝飾者模式中的角色抽象構(gòu)件Component角色具體構(gòu)件Concrete Component角色裝飾Decorator角色具體裝飾Concrete Decorator角色測試的時候到了尾聲什么是裝飾者模式網(wǎng)絡(luò)百科如下裝飾模式指的是在不必改變原類文件和使用繼承的情況下動態(tài)地擴展一個對象的功能。它是通過創(chuàng)建一個包裝對象也就是裝飾來包裹真實的對象。設(shè)計模式和編程語言無關(guān)但是二當(dāng)家的依然用Java語言去實戰(zhàn)舉例。裝飾者模式中的角色抽象構(gòu)件Component角色給出一個抽象接口以規(guī)范準(zhǔn)備接收附加責(zé)任的對象。具體構(gòu)件Concrete Component角色定義一個將要接收附加責(zé)任的類。裝飾Decorator角色持有一個構(gòu)件Component對象的實例并實現(xiàn)一個與抽象構(gòu)件接口一致的接口。具體裝飾Concrete Decorator角色負(fù)責(zé)給構(gòu)件對象添加上附加的責(zé)任。抽象構(gòu)件Component角色用動物接口作為抽象構(gòu)件Component角色動物會移動和咬。package com.secondgod.decorator; /** * 動物 * * 抽象構(gòu)件Component角色 * * author 二當(dāng)家的白帽子 https://le-yi.blog.csdn.net/ */ public interface Animal { /** * 移動 */ void move(); /** * 咬你 */ void bite(); }具體構(gòu)件Concrete Component角色用會跑會咬的狗狗類作為具體構(gòu)件Concrete Component角色。package com.secondgod.decorator; /** * 狗 * * 具體構(gòu)件Concrete Component角色 * * author 二當(dāng)家的白帽子 https://le-yi.blog.csdn.net/ */ public class Dog implements Animal { Override public void move() { System.out.println(狗子跑起來吧。。。。。); } Override public void bite() { System.out.println(狗子生氣了咬你。。。。。); } }裝飾Decorator角色專門為動物設(shè)計了裝備可熱插拔牛得很。package com.secondgod.decorator; /** * 動物裝備 * * 裝飾Decorator角色 * * author 二當(dāng)家的白帽子 https://le-yi.blog.csdn.net/ */ public abstract class AnimalEquipment implements Animal { private Animal animal; public AnimalEquipment(Animal animal) { this.animal animal; } Override public final void move() { beforeMove(); animal.move(); afterMove(); } Override public final void bite() { beforeBite(); animal.bite(); afterBite(); } /** * 移動前的能力增強 */ protected abstract void beforeMove(); /** * 移動后的能力增強 */ protected abstract void afterMove(); /** * 咬你前的能力增強 */ protected abstract void beforeBite(); /** * 咬你后的能力增強 */ protected abstract void afterBite(); }具體裝飾Concrete Decorator角色覺得狗狗跑得有點慢于是設(shè)計了一件動物加速裝備不要太先進(jìn)哦。package com.secondgod.decorator; /** * 動物加速裝備 * * 具體裝飾Concrete Decorator角色 * * author 二當(dāng)家的白帽子 https://le-yi.blog.csdn.net/ */ public class AnimalAcceleratorEquipment extends AnimalEquipment { public AnimalAcceleratorEquipment(Animal animal) { super(animal); } Override protected void beforeMove() { System.out.println(打開加速引擎。。。。。); } Override protected void afterMove() { System.out.println(關(guān)閉加速引擎。。。。。); } Override protected void beforeBite() { } Override protected void afterBite() { } }有的小動物會被大的動物欺負(fù)于是為他們設(shè)計一款攻擊力增強裝備來保護(hù)自己不要太猛哦。package com.secondgod.decorator; /** * 動物保護(hù)裝備 * * 具體裝飾Concrete Decorator角色 * * author 二當(dāng)家的白帽子 https://le-yi.blog.csdn.net/ */ public class AnimalProtectionEquipment extends AnimalEquipment{ public AnimalProtectionEquipment(Animal animal) { super(animal); } Override protected void beforeMove() { } Override protected void afterMove() { } Override protected void beforeBite() { System.out.println(安裝合金牙套。。。。。); } Override protected void afterBite() { System.out.println(取下合金牙套。。。。。); } }測試的時候到了package com.secondgod.decorator; public class Test { public static void main(String[] args) { System.out.println(一只善良小狗子散步中。。。。。); Animal animal new Dog(); System.out.println(一只兇猛大狗出現(xiàn)前來欺負(fù)善良小狗。。。。。); System.out.println(趕緊為善良小狗裝上保護(hù)裝備反擊的時候到了。。。。。); animal new AnimalProtectionEquipment(animal); animal.bite(); System.out.println(糟糕了有點過了跑路吧小狗子移動太慢了裝上加速裝備。。。。。); animal new AnimalAcceleratorEquipment(animal); animal.move(); } }好了安全到家Nice。如果要是用繼承的方式要多出來很多類加速不合金的狗子合金不加速的狗子又加速又合金的狗子以后可能還要有加速不合金的貓合金不加速的貓又加速又合金的貓。尾聲為了更明確的說明裝飾者模式不增加或減少行為而是行為的增強所以裝飾角色使用抽象類并且是final方法來舉例這樣嚴(yán)格限制了具體裝飾角色僅決定如何增強行為而不改變行為的多少。事實上裝飾角色也可以是接口。裝飾者模式太好用了熱插拔你不用改變就讓你的能力變強了。原文鏈接https://blog.csdn.net/leyi520/article/details/119964287? 著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者平臺聲明文章內(nèi)容如有圖片或視頻亦包括在內(nèi)由作者上傳并發(fā)布文章內(nèi)容僅代表作者本人觀點簡書系信息發(fā)布平臺僅提供信息存儲服務(wù)喜歡的朋友記得點贊、收藏、關(guān)注哦
版權(quán)聲明: 本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請聯(lián)系我們進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

網(wǎng)站布局設(shè)計中國建設(shè)銀行個人網(wǎng)上登錄入口

網(wǎng)站布局設(shè)計,中國建設(shè)銀行個人網(wǎng)上登錄入口,廣州外貿(mào)營銷型網(wǎng)站建設(shè),張家港網(wǎng)站開發(fā)制作軟判決、迭代解碼與維特比算法的深入解析 1. 信噪比下限與R值關(guān)系 在通信領(lǐng)域,信號與噪聲的比例是衡量通信質(zhì)量

2026/01/21 16:28:01

上海網(wǎng)站快速排名萬網(wǎng)怎樣做網(wǎng)站調(diào)試

上海網(wǎng)站快速排名,萬網(wǎng)怎樣做網(wǎng)站調(diào)試,四川建設(shè)考試網(wǎng),深圳免費網(wǎng)站建設(shè)服務(wù)ComfyUI#xff1a;構(gòu)建你的AI繪畫操作系統(tǒng) 你有沒有遇到過這種情況——在某個WebUI里調(diào)出一張驚艷的圖#xff0c

2026/01/23 07:40:01

高端做網(wǎng)站西安seo招聘

高端做網(wǎng)站,西安seo招聘,設(shè)計素材網(wǎng)站蜂,東莞做網(wǎng)頁的公司PPTTimer終極教程#xff1a;如何用懸浮時鐘完美掌控演講時間 【免費下載鏈接】ppttimer 一個簡易的 PPT 計時器 項目

2026/01/23 05:09:01

沈陽網(wǎng)站制作流程wordpress獅子歌歌

沈陽網(wǎng)站制作流程,wordpress獅子歌歌,陜西網(wǎng)絡(luò)推廣公司,wordpress中國主題終極自動化學(xué)習(xí)方案#xff1a;一鍵完成網(wǎng)課學(xué)習(xí)#xff0c;釋放你的寶貴時間 【免費下載鏈接】hcqHome

2026/01/23 10:18:01