设计模式-桥接模式

一、所需要的类

一个接口:抽象出行为

N个接口实现类:实现具体的行为

一个抽象类:里面封装上面的类作为元素,然后再进行自己的行为

N个抽象类实现类:进行行为

二、实现代码

行为接口

java 复制代码
public interface Shape {
    public void draw();
}

行为接口是实现类1

java 复制代码
public class Square implements Shape {
    @Override
    public void draw() {
        System.out.println("画了一个正方形");
    }
}

行为接口是实现类2

java 复制代码
public class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("画了一个圆");
    }
}

上层抽象类

java 复制代码
public abstract class Color {
    Shape shape;
    public abstract void applyColor();
}

抽象类实现类1

java 复制代码
public class BlueColor extends Color{
    public BlueColor(Shape shape)
    {
        this.shape = shape;
    }
    @Override
    public void applyColor() {
        shape.draw();
        System.out.println("喷上蓝色");
    }
}

抽象类是实现类2

java 复制代码
public class RedColor extends Color{
    public RedColor(Shape shape) {
        this.shape = shape;
    }
    @Override
    public void applyColor() {
        shape.draw();
        System.out.println("喷上红色");
    }
}

调用类

java 复制代码
@SpringBootApplication
public class BridgeApplication {
    public static void main(String[] args) {
        Square square = new Square();
        BlueColor blueColor = new BlueColor(square);
        RedColor redColor = new RedColor(square);
        blueColor.applyColor();
        redColor.applyColor();
        Square square1 = new Square();
        BlueColor blueColor1 = new BlueColor(square1);
        RedColor redColor1 = new RedColor(square1);
        blueColor1.applyColor();
        redColor1.applyColor();
    }
}

三、总结

桥接模式,处理的是多对多的组合,一层套一层

相关推荐
砍光二叉树22 分钟前
【设计模式】行为型-中介者模式
设计模式·中介者模式
:mnong24 分钟前
Superpowers 项目设计分析
java·c语言·c++·python·c#·php·skills
扶苏-su1 小时前
Java--获取 Class 类对象
java·开发语言
东离与糖宝1 小时前
LangChain4j vs Spring AI:最新对比,Java企业级Agent开发
java·人工智能
96771 小时前
C++多线程2 如何优雅地锁门 (lock_guard) 多线程里的锁的种类
java·开发语言·c++
老衲提灯找美女1 小时前
数据库事务
java·大数据·数据库
Mem0rin2 小时前
[Java/数据结构]线性表之链表
java·数据结构·链表
香香甜甜的辣椒炒肉2 小时前
Spring(1)基本概念+开发的基本步骤
java·后端·spring
成都渲染101云渲染66663 小时前
跳出“硬件堆砌”陷阱|渲染101如何用技术重构云渲染的专业价值?
java·前端·javascript
golang学习记3 小时前
IDEA 2026.1全新调试新特性:Spring Boot调试不再靠猜!
java·spring boot·intellij-idea