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

海报模板免费下载网站专业模板网站制作

海报模板免费下载网站,专业模板网站制作,conoha wordpress,网站建设自学教程JAVA设计模式——(六)装饰模式(Decorator Pattern) 介绍理解实现被装饰类被装饰类的具体实现装饰类装饰类具体实现测试 适用场景 介绍 动态给一个对象添加一些额外的功能,动态的扩展其功能。 理解 装饰模式&#xf…

JAVA设计模式——(六)装饰模式(Decorator Pattern)

  • 介绍
  • 理解
  • 实现
    • 被装饰类
    • 被装饰类的具体实现
    • 装饰类
    • 装饰类具体实现
    • 测试
  • 适用场景

介绍

动态给一个对象添加一些额外的功能,动态的扩展其功能。

理解

装饰模式,可以方便的扩展一些类的功能。其实现方式更像是一种托管方式,用于将被装饰的类的功能托管给装饰器,装饰器在执行被装饰类的功能的前后可以执行相关的扩展功能。

例如,小明要交五块钱班费给班长,但是呢小明的钱还没有取出来,所以还要去银行取出来,但是小明有事。所以,这时小明让班长帮自己取出来给小明,小明再用五块钱交班费。所以在班费之前,让班长替他取了钱。

实现

被装饰类

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 15:14* @Contact 643947568@qq.com*/
public interface Weapon {public void createWeapon();
}

被装饰类的具体实现

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 15:15* @Contact 643947568@qq.com*/
public class Pistol implements Weapon{@Overridepublic void createWeapon() {System.out.println("制造手枪");}
}

装饰类

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 15:15* @Contact 643947568@qq.com*/
public abstract class WeaponDecorator implements Weapon {private Weapon weapon = null;public WeaponDecorator(Weapon weapon) {this.weapon = weapon;}@Overridepublic void createWeapon() {this.weapon.createWeapon();}
}

装饰类具体实现

package cn.sh.designepattern;/*** @Author song* @Version 0.0.1* @Date 2025/4/24 15:17* @Contact 643947568@qq.com*/
public class ActualWeaponDecorator extends WeaponDecorator {public ActualWeaponDecorator(Weapon weapon) {super(weapon);}private void expandMethod() {System.out.println("执行扩展方法");}@Overridepublic void createWeapon() {super.createWeapon();expandMethod();}
}

测试

package cn.sh.designepattern;/** 装饰模式* @Author song* @Version 0.0.1* @Date 2025/4/24 14:50* @Contact 643947568@qq.com*/public class Main {public static void main(String[] args) {Weapon pistol = new Pistol();ActualWeaponDecorator actualWeaponDecorator = new ActualWeaponDecorator(pistol);actualWeaponDecorator.createWeapon();}
}

适用场景

装饰模式适用于不修改原来类的前提下,扩展类的功能,从而避免了继承关系的实现扩展。

但是装饰过多会导致结构复杂。

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

相关文章:

  • 个人可以建网站卖东西吗网站建设证据保全
  • 建站公司还有前途吗在互联网公司做网站
  • 建设工程教育网站wordpress首屏加载速度
  • 做网站违法吗卡片式设计网站
  • 广州网站设计成功刻网站怎么做跳转链接
  • 黄页网站介绍软件定制开发平台
  • 郑州 网站建设有限公司佛山公司关键词网络推广
  • 广西网站建设价格网站开发的热门博客
  • 精通网站建设电子档网站建设困难吗
  • 设置网站标签wordpress 样式 code
  • 图书网站建设论文wordpress在国内很慢
  • 网站两个域名人力资源短期培训班
  • 廊坊做网站公司哪家好移动网站建设的前期规划内容
  • 如何把电脑改成服务器做网站网页设计页面设计主要技术
  • 网站打开wordpress在线表白网页
  • 郑州网站关丹徒网站建设多少钱
  • 网站源码建设模板服务器网站跳转怎么做的
  • 合肥企业网站建设公司哪家好广告推广app
  • 开封开封县网站建设怎么做网站优化
  • 做网站的安全证书Https全局wordpress
  • 苏州手机网站建设公司网站标签系统
  • 做网站销售门窗怎么做生成网站有吗免费的
  • 室内设计做效果图可以接单的网站前端培训机构出来的好找工作吗
  • 科技公司网站php源码宁波如何建网站
  • 网站备案流程实名认证南宁商城开发
  • 国内做外贸的网站网络推广怎么做好
  • 苏州网站设计哪家公司好建立个公司网站
  • 易联网站制作有什么网站可以做ppt
  • 洛阳网站建设找洛阳铭信网络wordpress 最简单模板下载
  • 柬埔寨做网站什么叫网站权重