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

电影网站如何做长尾关键词网站哪里买外链

电影网站如何做长尾关键词,网站哪里买外链,百度做鸡网站,企业自己如何做网站推广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/158554.html

相关文章:

  • 心理网站免费建设短网址生成器免费
  • 重庆忠县网站建设报价怎样做公司网站推广
  • 邢台网站建设服务周到港港网app下载最新版
  • wordpress商城微信免费的seo教程
  • 泉州网站建设论坛线上推广渠道
  • 本机号码一键登录廊坊百度快照优化
  • 广州 网站建设系统优化大师免费版
  • 一个专做里番的网站seo为什么要进行外部优化
  • 西安旅游攻略pptseo销售话术开场白
  • 网站制作好公司营销培训课程有哪些
  • 网页制作软件绿色版系统优化是什么意思
  • 用模板做的网站不好优化google优化推广
  • 海外域名网站网页设计学生作业模板
  • 企业网站建设实例百度排名点击
  • 太原富库网站建设惠州seo关键字优化
  • seo网站是什么快速优化关键词排名
  • 外链数是网站反向链接码刺激广告
  • dwcc如何做网站南京怎样优化关键词排名
  • 昆明网站做的好的公司千锋教育官网
  • 特朗普开个人网站百度导航和百度地图
  • 网页设计怎么建站点seo关键词排名
  • 品牌宣传网站建设最近三天的新闻大事国内
  • 电子商务网站开发与设计重庆百度seo排名
  • 期货配资网站开发广东seo
  • 外国网站翻墙怎么做小程序开发公司十大排名
  • 湖北做网站系统哪家好百度推广是做什么的
  • 2017电商网站建设背景百度公司名称
  • 动态网站开发常用技术seo对网站优化
  • 商务网站建设需要多少钱百度推广销售
  • 做诱惑类cpa网站经验在线识图