您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“Java怎么實現橋接模式”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Java怎么實現橋接模式”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
橋接模式(Bridge Pattern)是用于把抽象化與實現化解耦,使得二者可以獨立變化。這種類型的設計模式屬于結構型模式,它通過提供抽象化和實現化之間的橋接結構,來實現二者的解耦。這種模式涉及到一個作為橋接的接口,使得實體類的功能獨立于接口實現類。這兩種類型的類可被結構化改變而互不影響。
我們有一個作為橋接實現的 DrawAPI 接口和實現了 DrawAPI 接口的實體類 RedCircle、GreenCircle。Shape 是一個抽象類,將使用 DrawAPI 的對象。BridgePatternDemo,我們的演示類使用 Shape 類來畫出不同顏色的圓。
創建橋接實現接口。
DrawAPI.java public interface DrawAPI { public void drawCircle(int radius, int x, int y); }
創建實現了 DrawAPI 接口的實體橋接實現類。
RedCircle.java public class RedCircle implements DrawAPI { @Override public void drawCircle(int radius, int x, int y) { System.out.println("Drawing Circle[ color: red, radius: " + radius +", x: " +x+", "+ y +"]"); } } GreenCircle.java public class GreenCircle implements DrawAPI { @Override public void drawCircle(int radius, int x, int y) { System.out.println("Drawing Circle[ color: green, radius: " + radius +", x: " +x+", "+ y +"]"); } }
使用 DrawAPI 接口創建抽象類 Shape。
Shape.java public abstract class Shape { protected DrawAPI drawAPI; protected Shape(DrawAPI drawAPI){ this.drawAPI = drawAPI; } public abstract void draw(); }
創建實現了 Shape 接口的實體類。
Circle.java public class Circle extends Shape { private int x, y, radius; public Circle(int x, int y, int radius, DrawAPI drawAPI) { super(drawAPI); this.x = x; this.y = y; this.radius = radius; } public void draw() { drawAPI.drawCircle(radius,x,y); } }
使用 Shape 和 DrawAPI 類畫出不同顏色的圓。
BridgePatternDemo.java public class BridgePatternDemo { public static void main(String[] args) { Shape redCircle = new Circle(100,100, 10, new RedCircle()); Shape greenCircle = new Circle(100,100, 10, new GreenCircle()); redCircle.draw(); greenCircle.draw(); } }
執行程序,輸出結果:
Drawing Circle[ color: red, radius: 10, x: 100, 100] Drawing Circle[ color: green, radius: 10, x: 100, 100]
讀到這里,這篇“Java怎么實現橋接模式”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。