日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

装饰模式理解

發布時間:2023/12/29 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 装饰模式理解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
package 裝飾模式;// 核心戰術 public abstract class MainTactics {// 進攻 public abstract void attack(); // 是否成功 public abstract void success();}



package 裝飾模式;//核心業務類 public class CBATactics extends MainTactics {@Overridepublic void attack() {System.out.println("戰術: 進攻內線......");}@Overridepublic void success() {System.out.println("成功80%");}}
package 裝飾模式;/*** 通過這個類來進行 對原始類的一個擴展, 可以即插即用擴展業務感覺。 需要擴展其中的一個業務的時候, 只要繼承這個類就可以了。* * 不會對原來的有什么影響。 直接擴展,處理業務。* * * ***/ public abstract class TacticsList extends MainTactics {private MainTactics tactics;public TacticsList(MainTactics tactics) {this.tactics = tactics;}public void attack() {this.tactics.attack();}@Overridepublic void success() {this.tactics.success();}}
package 裝飾模式;public class TacticsOne extends TacticsList{public TacticsOne(MainTactics tactics) {super(tactics);}public void attackOne(){System.out.println("戰術執行,先突破,然后分球給內線");}@Overridepublic void attack() {super.attack();this.attackOne();} }
package 裝飾模式;public class TacticsTwo extends TacticsList {public TacticsTwo(MainTactics tactics) {super(tactics);}public void attackTwo() {System.out.println("內線網外傳,直接飆3分");}@Overridepublic void attack() {super.attack();this.attackTwo();}}
package 裝飾模式;public class Main {public static void main(String[] args) {// 下面添加另外一種進攻手段。 (擴展一種另外的業務處理)MainTactics tactics = new CBATactics(); // 最原始的,最核心業務 tactics = new TacticsOne(tactics); // 直接包裝 核心業務 , 在原來的基礎上直接添加。 同時又對原來的業務沒有任何干擾。tactics = new TacticsTwo(tactics); // 進行再次的包裝業務,處理業務。 tactics.attack();}}


總結

以上是生活随笔為你收集整理的装饰模式理解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。