日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Java 實(shí)現(xiàn)橋接模式

橋接模式(Bridge Pattern)是用于把抽象化與實(shí)現(xiàn)化解耦,使得二者可以獨(dú)立變化。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式,它通過(guò)提供抽象化和實(shí)現(xiàn)化之間的橋接結(jié)構(gòu),來(lái)實(shí)現(xiàn)二者的解耦。這種模式涉及到一個(gè)作為橋接的接口,使得實(shí)體類的功能獨(dú)立于接口實(shí)現(xiàn)類。這兩種類型的類可被結(jié)構(gòu)化改變而互不影響。

創(chuàng)新互聯(lián)主營(yíng)大新網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app開(kāi)發(fā)定制,大新h5小程序開(kāi)發(fā)搭建,大新網(wǎng)站營(yíng)銷推廣歡迎大新等地區(qū)企業(yè)咨詢

實(shí)現(xiàn)

我們有一個(gè)作為橋接實(shí)現(xiàn)的 DrawAPI 接口和實(shí)現(xiàn)了 DrawAPI 接口的實(shí)體類 RedCircle、GreenCircle。Shape 是一個(gè)抽象類,將使用 DrawAPI 的對(duì)象。BridgePatternDemo,我們的演示類使用 Shape 類來(lái)畫(huà)出不同顏色的圓。

步驟 1

創(chuàng)建橋接實(shí)現(xiàn)接口。

DrawAPI.java
public interface DrawAPI {
  public void drawCircle(int radius, int x, int y);
}

步驟 2

創(chuàng)建實(shí)現(xiàn)了 DrawAPI 接口的實(shí)體橋接實(shí)現(xiàn)類。

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 +"]");
  }
}

步驟 3

使用 DrawAPI 接口創(chuàng)建抽象類 Shape。

Shape.java
public abstract class Shape {
  protected DrawAPI drawAPI;
  protected Shape(DrawAPI drawAPI){
     this.drawAPI = drawAPI;
  }
  public abstract void draw();  
}

步驟 4

創(chuàng)建實(shí)現(xiàn)了 Shape 接口的實(shí)體類。

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);
  }
}

步驟 5

使用 Shape 和 DrawAPI 類畫(huà)出不同顏色的圓。

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();
  }
}

步驟 6

執(zhí)行程序,輸出結(jié)果:

Drawing Circle[ color: red, radius: 10, x: 100, 100]
Drawing Circle[  color: green, radius: 10, x: 100, 100]

文章題目:Java 實(shí)現(xiàn)橋接模式
標(biāo)題鏈接:http://www.dlmjj.cn/article/dhhejci.html