桥接模式的目标是使对象的抽象部分与实现部分分离,使之可以分别独立变化,以尽量避免产生耦合。
下图以绘制圆形为例:圆形的颜色通过接口类DrawAPI及其2个实现类RedCircle以及GreenCircle实现;圆形的坐标以及半径通过抽象类及其扩展类实现,在实现draw()方法时,直接使用DrawAPI类中的相关对象的drawCircle方法。
DrawAPI接口类:
package bridge;
public interface DrawAPI {
public void drawCircle(int radius, int x, int y);
}
RedCircle实现类:
package bridge;
public class RedCircle implements DrawAPI{
@Override
public void drawCircle(int radius, int x, int y) {
System.out.println("画红色圆,半径"+radius+",坐标:x="+x+",y="+y);
}
}
GreenCircle实现类:
package bridge;
public class GreenCircle implements DrawAPI{
@Override
public void drawCircle(int radius, int x, int y) {
System.out.println("画绿色圆,半径"+radius+",坐标:x="+x+",y="+y);
}
}
Shape抽象类:
package bridge;
public abstract class Shape {
protected DrawAPI drawAPI;
protected Shape(DrawAPI drawAPI) {
this.drawAPI=drawAPI;
}
public abstract void draw();
}
Circle扩展类:
package bridge;
public class Circle extends Shape{
int x, y, radius;
public Circle(DrawAPI drawAPI,int x,int y,int radius) {
super(drawAPI);
this.x=x;
this.y=y;
this.radius=radius;
}
@Override
public void draw() {
drawAPI.drawCircle(radius, x, y);
}
}
主函数调用方式:
package main;
import bridge.*;
public class BridgePattern {
public static void main(String[] args) {
Shape redCircle =new Circle(new RedCircle(),10,10,5);
Shape greenCircle = new Circle(new GreenCircle(),20,20,6);
redCircle.draw();
greenCircle.draw();
}
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
耦合器
+关注
关注
8文章
671浏览量
59260 -
API接口
+关注
关注
1文章
79浏览量
10315
发布评论请先 登录
相关推荐
关于桥接模式遇到的问题
VMware使用桥接模式,已经手动设置ip地址和主机ip同一网段,但是ifconfig显示的ip地址却和vmnet8(NAT)同一网段?怎么解决?
发表于 10-16 15:06
数字信号处理器代码生成的地址分配自适应遗传算法
摘要:为了高质量地生成对数字信号处理器自增/减间接寻址模式的目标代码,提出了地址分配自适应遗传算法.该算法的核心思想为:对地址分配方案进行二进制编码,适应度函数通过地址寄存器变化轨迹的非邻接标记之和的倒数来计算,再通过自适应策略对适应度高的
发表于 03-01 00:32
•80次下载
嵌入式实时操作系统设计方案
本文提出了一种航空电子嵌入式实时操作系统(A-RTOS,Avionics RTOS)的一种设计思路,并在具有MMU和支持高级保护模式的目标板上完成了实现。
发表于 11-21 11:43
•1046次阅读
雷军:5年内做到印度市场份额第一!印度成为小米的主战场
导语:在中国千元机市场饱和的情况下,国内失宠的小米已不满足国内这块蛋糕,在印度也开始大力布局,更是要复制国内生态链模式,目标做到印度市场第一。
发表于 03-17 11:14
•462次阅读
启动模式配置lc823450系列音频应用
介绍 此应用说明说明程序确定开机装置、开机模式以及如何控制开机开发阶段模式。 目标受众是建设音频的客户使用lc823450系列应用(称为lc823450以下)。 背景 启动模式 lc8
发表于 03-29 17:08
•10次下载
机器视觉作为智能机器人的重要感觉器官,也是目前研究的热门课题之一
图像识别技术是人工智能的一个重要领域。它是指对图像进行对象识别,以识别各种不同模式的目标和对像的技术。
人工智能七个模式分别应用或以不同的组合应用
超个性化模式被定义为使用机器学习来开发每个个体的文件,然后让该文件学习并随着时间的推移适应各种各样的目的,包括显示相关内容、推荐相关产品、提供个性化推荐等等。这种模式的目标是将每个个体视为一个个体。
图像识别赋能智慧安防 视频监控布设越来越密集
何谓图像识别?简单来说,图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,属于应用深度学习算法的一种实践应用。在生活中,“以图搜图”就是利用了图像识别技术。
发表于 03-17 13:36
•889次阅读
人脸识别和图像识别技术是如何为安防赋能的
图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术,属于应用深度学习算法的一种实践应用。
发表于 03-18 11:14
•934次阅读
机器视觉对于各行业发展有何影响?
就识别功能而言,利用机器视觉对图像进行处理、分析和理解,可以识别各种不同模式的目标和对象。与此同时,借助机器视觉还能达到数据的追溯和采集,当前在汽车零部件、食品、药品等应用较多。举例而言,工业生产过程中的物料配送、分拣、条码扫描和物流行业中的快件分拣等,都离不开机器视觉的
发表于 07-22 16:42
•1063次阅读
意法半导体新NFC读卡器的功能特点
意法半导体的 ST25R3916B-AQWT 和ST25R3917B-AQWT NFC Forum读卡器芯片输出功率大,能效高,价格具有竞争力,支持 NFC 发起设备、目标设备、读取和卡模拟四种模式,目标应用包括非接支付、设备配
评论