当前位置: 首页 > wzjs >正文

刚做的网站关键词就上来了网站百度权重

刚做的网站关键词就上来了,网站百度权重,南京直销网站开发,wordpress显示关闭评论框JAVA设计模式——(三)桥接模式(Bridge Pattern) 介绍理解实现武器抽象类武器实现类涂装颜色的行为接口具体颜色的行为实现让行为影响武器修改武器抽象类修改实现类 测试 适用性 介绍 将抽象和实现解耦,使两者可以独立…

JAVA设计模式——(三)桥接模式(Bridge Pattern)

  • 介绍
  • 理解
  • 实现
    • 武器抽象类
    • 武器实现类
    • 涂装颜色的行为接口
    • 具体颜色的行为实现
    • 让行为影响武器
      • 修改武器抽象类
      • 修改实现类
    • 测试
  • 适用性

介绍

将抽象和实现解耦,使两者可以独立的变化。

理解

在这里需要理解的是如何让抽象和实现进行解耦。再具体编码代码时,抽象类一般用以定义一些对象的公共基类,公共基类包含一些共同属性或者一些通用实现方法,或者一些子类待实现的方法;接口则用于规范实现类的行为方法。

对于一个武器(实现类),制作一把武器需要模具(抽象类),假如我们需要拓展武器,让武器可以组装其他的组件,比如弹夹、枪管,那我们是否需要重新打造一个模具(抽象类),那这样做岂不是每次的改动都需要更改模具,让工作变得繁重。所以,有没有一种办法直接对实现类修改,有的。

直接修改实现类,我们可以直接更换枪管、更换弹夹等行为,即对实现类的直接修改(工作台一样)。这样就直接避免修改抽象类,转而通过工作台修改(即定义其他的行为)。

实现

武器抽象类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public abstract class AbstractWeapon {public abstract void createWeapon();}

武器实现类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:01* @Contact 643947568@qq.com*/
public class Weapon extends AbstractWeapon{@Overridepublic void createWeapon() {System.out.println("生产具有八倍镜的武器");}
}

涂装颜色的行为接口

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:07* @Contact 643947568@qq.com*/
public interface Color {public void getColor(); //绘制枪的颜色
}

具体颜色的行为实现

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:11* @Contact 643947568@qq.com*/
public class Green implements Color {@Overridepublic void getColor() {return "绿色";}
}

让行为影响武器

如何让行为影响武器,是值得思考的问题。为了让武器的颜色得到改变,一种方法武器和颜色传送给Color类涂装,另一种是将定义的颜色传给武器进行涂装。

当然,选择第二种是更好的。由于颜色是预先定义的,而不是根据颜色需求来定制颜色。另外,武器的组装线在武器类里面,难道你会把武器送给颜料厂进行涂装吗?肯定不会吧。

修改武器抽象类

让武器类具有颜色属性

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public abstract class AbstractWeapon {Color color;public AbstractWeapon(Color color) {this.color = color;}public abstract void createWeapon();}

修改实现类

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 16:01* @Contact 643947568@qq.com*/
public class Weapon extends AbstractWeapon {public Weapon(Color color) {super(color);}@Overridepublic void createWeapon() {System.out.println("生产具有八倍镜的武器");System.out.println("涂装颜色" + color.getColor());}
}

测试

package cn.sh.designepattern.example02;/*** @Author song* @Version 0.0.1* @Date 2025/4/23 15:59* @Contact 643947568@qq.com*/
public class Main {public static void main(String[] args) {Color green = new Green();  //定义颜色Weapon weapon = new Weapon(green);  //将颜色传给武器weapon.createWeapon();}
}

适用性

进过上面的例子,因该很好理解桥接模式的运用。

桥接模式更偏向运用组合的方式,将实现细节从本体中抽离出来,从而将颜色的实现细节从武器的生产线抽离,而无需
关心其中部分的实现,只需要得到这部分的属性即可。

如果我们直接采用实现的方式,让武器具有颜色的行为,就好比把武器组装线中,塞一个颜色的加工厂一样,臃肿,也没有解耦合。此外,直接实现Color接口的方式,会使得每次颜色类的变动,均会影响实现的子类,均需要重写接口的抽象方法。

http://www.dtcms.com/wzjs/248949.html

相关文章:

  • 长沙建站费用沧州网站建设推广
  • 做音乐网站用什么程序电商运营培训课程有哪些
  • 网站怎么建设后台百度问问
  • 雷州市规划建设局网站精品成品网站源码
  • 网站如何做搜索引擎长沙网络推广只选智投未来
  • 北京 做网站网站优化外包找谁
  • 建设银行网站怎么看交易记录优化大师有必要安装吗
  • 做网站用什么程序比较好新平台怎么推广
  • 网站建设运维情况电商平台推广费用大概要多少
  • 前端做学校网站教务网站开发技术有哪些
  • 一起做网店网站打不开迅速上排名网站优化
  • 做视频点播网站如何赚钱域名网站
  • 网站建设 域名 服务器短期的技能培训有哪些
  • 给人做代工的网站腾讯网网站网址
  • 公司网站总感觉少点什么找什么人做烟台seo关键词排名
  • 大网站cn域名关键词排名优化系统
  • 宁波做网站seoks免费刷粉网站推广
  • 免费做团购网站的软件竞价排名的优缺点
  • 泰州做兼职的网站灰色广告投放平台
  • 做婚纱网站是怎么确认主题沈阳seo合作
  • 网站怎么才能被百度收录关键词查询工具免费
  • 南海网站建设网站seo优化方法
  • 专做火影黄图的网站千牛怎么做免费推广引流
  • 广西省建设注册管理网站免费软文网站
  • 手机网站 微信链接网络推广免费平台
  • 建筑兼职网站互联网推广营销方案
  • 怎么做兼职类网站进入百度搜索网站
  • 免费咨询医生回答重庆公司网站seo
  • 息县网站建设网站优化排名公司
  • 个人网站建设源代码亚马逊查关键词排名工具