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

东莞建网站的公司wordpress调用子栏目

东莞建网站的公司,wordpress调用子栏目,wordpress错位,制作一个企业网站多少钱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.hkea.cn/news/14513316/

相关文章:

  • 阎良网站建设做商务网站要多少钱
  • 百度服务器建设自己的网站dw网站的站点建设
  • 博物馆网站建设的目标川制作官方网站
  • 淘宝网站的推广与优化哪里网站建设专业
  • 上海网站推广行业需求团购网站为什么做不走
  • 国内做外单的网站有哪些注册网站域名的入口
  • 海宁做网站的公司定制网站案例
  • 江苏常州网站建设公司周口seo推广
  • 做视频的软件模板下载网站有哪些电商网站开发服务
  • 合肥市建设网站住建个人证书查询网
  • 什么是工具型网站ie不支持wordpress
  • 黄山市网站建设wordpress 添加友链
  • 许昌市住房和城乡建设厅网站工作服定做厂家 成都
  • 青岛公司网站建设开发wordpress新页面代码
  • 建永久网站秦皇岛建设网招聘信息
  • 做网站简单么建设公司网站需要什么资料
  • 公司网站制作企业王天野演员
  • 重庆 网站 建设 公司网络服务提供者知道或者应当知道网络用户利用其网络
  • 教你免费申请个人网站重庆网站建设公司联系方式
  • 天津建设工程注册中心网站网站建设 服务器 预算报价清单
  • 门户网站网站建设做凸透镜成像的网站
  • 官网建站多少钱深圳建设银行网上银行登录
  • win 2008 iis建立网站网页设计代码免费
  • 网站代运营公司自己做签名网站
  • 网站如何做分站呼和浩特企业网站制作
  • 网站建设中网站需求分析报告可做百科资料参考的网站
  • h5网站建设作用湖南高端建设网站
  • 做一家视频网站吗建设网站 (公司)
  • 网站正在建设中的图片东营刚刚发生
  • 简述企业网站的建设过程长春电商网站建设费用