1. 首页
  2. 课程学习
  3. Java
  4. 桥接模式概述及Java示例代码

桥接模式概述及Java示例代码

上传者: 2024-04-13 00:17:14上传 DOCX文件 24.14KB 热度 5次

// 定义桥接接口

interface DrawAPI {

void drawCircle(int radius, int x, int y);

}

// 实现桥接接口的具体类

class RedCircle implements DrawAPI {

public void drawCircle(int radius, int x, int y) {

System.out.println("Drawing Circle[ color: red, radius: " + radius + ", x: " + x + ", y: " + y + "]");

}

}

// 实现桥接接口的另一个具体类

class GreenCircle implements DrawAPI {

public void drawCircle(int radius, int x, int y) {

System.out.println("Drawing Circle[ color: green, radius: " + radius + ", x: " + x + ", y: " + y + "]");

}

}

// 使用桥接接口的抽象类

abstract class Shape {

protected DrawAPI drawAPI;

protected Shape(DrawAPI drawAPI){

this.drawAPI = drawAPI;

}

public abstract void draw();

}

// 扩展抽象类的实体类

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

}

}

// 测试桥接模式

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

}

}

用户评论