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

wordpress做付费下载站大连软件培训

wordpress做付费下载站,大连软件培训,网站建设解决问题,12306网站哪个公司做的Java装饰器模式 摘要实现范例 装饰器模式#xff08;Decorator Pattern#xff09;允许向一个现有的对象添加新的功能#xff0c;同时又不改变其结构 装饰器模式创建了一个装饰类#xff0c;用来包装原有的类#xff0c;并在保持类方法签名完整性的前提下#xff0c;提供… Java装饰器模式 摘要实现范例 装饰器模式Decorator Pattern允许向一个现有的对象添加新的功能同时又不改变其结构 装饰器模式创建了一个装饰类用来包装原有的类并在保持类方法签名完整性的前提下提供了额外的功能 装饰器模式属于结构型模式它是作为现有的类的一个包装 摘要 1. 意图 动态地给一个对象添加一些额外的职责。就增加功能来说装饰器模式相比生成子类更为灵活2. 主要解决 一般的我们为了扩展一个类经常使用继承方式实现由于继承为类引入静态特征并且随着扩展功能的增多子类会很膨胀3. 何时使用 在不想增加很多子类的情况下扩展类 4. 如何解决 将具体功能职责划分同时继承装饰者模式5. 关键代码 Component类充当抽象角色不应该具体实现修饰类引用和继承Component类具体扩展类重写父类方法 6. 应用实例 孙悟空有72变当他变成”庙宇”后他的根本还是一只猴子但是他又有了庙宇的功能不论一幅画有没有画框都可以挂在墙上但是通常都是有画框的并且实际上是画框被挂在墙上在挂在墙上之前画可以被蒙上玻璃装到框子里这时画、玻璃和画框形成了一个物体 7. 优点 装饰类和被装饰类可以独立发展不会相互耦合装饰模式是继承的一个替代模式装饰模式可以动态扩展一个实现类的功能 8. 缺点 多层装饰比较复杂 9. 使用场景 扩展一个类的功能动态增加功能动态撤销 10. 注意事项 可代替继承 实现 创建一个Shape接口和实现了Shape接口的实体类创建一个实现了Shape接口的抽象装饰类ShapeDecorator并把Shape对象作为它的实例变量创建类RedShapeDecorator实现了ShapeDecorator实体类创建类DecoratorPatternDemo使用RedShapeDecorator来装饰Shape对象 范例 我们通过下面的范例来演示装饰器模式的用法其中我们将把一个形状装饰上不同的颜色同时又不改变形状类 1.创建一个接口. Shape.java package com.demo.gof; public interface Shape {void draw(); }2. 创建实现接口的实体类 Rectangle.java package com.demo.gof; public class Rectangle implements Shape {Overridepublic void draw() {System.out.println(Shape: Rectangle);} }Circle.java package com.demo.gof; public class Circle implements Shape {Overridepublic void draw() {System.out.println(Shape: Circle);} }3. 创建实现了 Shape 接口的抽象装饰类 ShapeDecorator.java package com.demo.gof; public abstract class ShapeDecorator implements Shape {protected Shape decoratedShape;public ShapeDecorator(Shape decoratedShape){this.decoratedShape decoratedShape;}public void draw(){decoratedShape.draw();} }4. 创建扩展了 ShapeDecorator 类的实体装饰类 RedShapeDecorator.java package com.demo.gof; public class RedShapeDecorator extends ShapeDecorator {public RedShapeDecorator(Shape decoratedShape) {super(decoratedShape); }Overridepublic void draw() {decoratedShape.draw(); setRedBorder(decoratedShape);}private void setRedBorder(Shape decoratedShape){System.out.println(Border Color: Red);} }5. 使用 RedShapeDecorator 来装饰 Shape 对象 DecoratorPatternDemo.java package com.demo.gof; public class DecoratorPatternDemo {public static void main(String[] args) {Shape circle new Circle();Shape redCircle new RedShapeDecorator(new Circle());Shape redRectangle new RedShapeDecorator(new Rectangle());System.out.println(Circle with normal border);circle.draw();System.out.println(\nCircle of red border);redCircle.draw();System.out.println(\nRectangle of red border);redRectangle.draw();} }编译运行以上 Java 范例输出结果如下 $ javac -d . src/main/com.demo/gof/DecoratorPatternDemo.java $ java com.demo.gof.DecoratorPatternDemo Circle with normal border Shape: CircleCircle of red border Shape: Circle Border Color: RedRectangle of red border Shape: Rectangle Border Color: Red
http://www.dnsts.com.cn/news/273378.html

相关文章:

  • 湛蓝 网站开发域名网址查询
  • 在线学习网站模板wordpress视频显示控件
  • 网站的html千图网素材下载网站
  • 模板网站外贸建站手机移动端网站怎么做的
  • 做问卷调查的网站有哪些内容网业小游戏在线玩
  • 太原在线网站建设wordpress怎么修改密码
  • 拓尔思网站建设公司网站兼容手机
  • 浙江省城乡建设网站wordpress黑客主题
  • 智能建站系统 网站建设的首选万表手表官网
  • 徐州金网网站建设增城新闻头条今天
  • 聊城网站建设公司电话国外专门做视频翻译网站
  • 网站建设还能赚钱吗电子商务网站建设的展望
  • 建三江廉政建设网站展厅设计费收费标准
  • 深圳低价建站宁波江北网站建设
  • 深圳网站开发公司有哪些各大搜索引擎收录入口
  • 北京网站建设一条龙三亚
  • led视频网站建设免费创建网站的软件
  • 做网站领券收佣金学校网站设计首页
  • 长春seo服务公司网站自己可以学习优化吗
  • 临沂网站建设费用1万流量网站 服务器配置
  • 拼团做的比较好的网站介绍个人网站的ppt怎么做
  • 如何把购物网站做成非经营网站官方网站建设公司
  • 布吉做网站公司网站搜索引擎优化技术
  • 炫酷网站建设网络运营是什么专业
  • 网站设计美工要怎么做seo是什么意思 职业
  • 克隆网站到wordpress修改企业网站建设的层次
  • 棋牌网站开发找人做网站安全吗
  • 查询注册过的网站河间做网站
  • 汕头论坛建站模板wordpress数据库删除所有评论
  • 金华正规网站建设总部找外贸工作哪个网站好