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

霍山做网站wordpress 自动生成文章

霍山做网站,wordpress 自动生成文章,买证书网站开发工程师,深圳招聘一般在哪个网站类型#xff1a;结构型模式 实现原理#xff1a;装饰器模式通过将对象包装在装饰器类中#xff0c;并在保持类方法签名完整性的前提下#xff0c;提供额外功能 作用#xff1a;动态地给一个对象添加一些额外的职责。增加功能方面#xff0c;装饰器模式比生成子类更灵活…类型结构型模式 实现原理装饰器模式通过将对象包装在装饰器类中并在保持类方法签名完整性的前提下提供额外功能 作用动态地给一个对象添加一些额外的职责。增加功能方面装饰器模式比生成子类更灵活。 解决的问题为了扩展类使用继承方式引入静态特征而随着扩展功能的增多子类发生膨胀。 何时使用在不想增加很多子类的情况下扩展类。 解决方法划分具体功能职责并继承装饰者模式。 关键代码1、Component 类充当抽象角色不应该具体实现。 2、修饰类引用和继承 Component 类具体扩展类重写父类方法。 应用实例1、孙悟空有 72 变当他变成庙宇后他的根本还是一只猴子但是他又有了庙宇的功能。 2、不论一幅画有没有画框都可以挂在墙上但是通常都是有画框的并且实际上是画框被挂在墙上。在挂在墙上之前画可以被蒙上玻璃装到框子里这时画、玻璃和画框形成了一个物体。 优点装饰类和被装饰类各自独立 缺点多层装饰比较复杂。 使用场景 1、扩展一个类的功能。 2、动态增加功能动态撤销。 装饰器模式包含以下几个核心角色 抽象组件Component定义了原始对象和装饰器对象的公共接口或抽象类可以是具体组件类的父类或接口。具体组件Concrete Component是被装饰的原始对象它定义了需要添加新功能的对象。抽象装饰器Decorator继承自抽象组件它包含了一个抽象组件对象并定义了与抽象组件相同的接口同时可以通过组合方式持有其他装饰器对象。具体装饰器Concrete Decorator实现了抽象装饰器的接口负责向抽象组件添加新的功能。具体装饰器通常会在调用原始对象的方法之前或之后执行自己的操作。 装饰器模式通过嵌套包装多个装饰器对象可以实现多层次的功能增强。每个具体装饰器类都可以选择性地增加新的功能同时保持对象接口的一致性。 实现 步骤 1创建一个接口Shape.java public interface Shape {void draw(); } 步骤 2创建实现接口的实体类。Rectangle.java public class Rectangle implements Shape {Overridepublic void draw() {System.out.println(Shape: Rectangle);} } Circle.java public class Circle implements Shape {Overridepublic void draw() {System.out.println(Shape: Circle);} } 步骤 3创建实现了 Shape 接口的抽象装饰类。ShapeDecorator.java 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 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 public class DecoratorPatternDemo {public static void main(String[] args) {Shape circle new Circle();ShapeDecorator redCircle new RedShapeDecorator(new Circle());ShapeDecorator redRectangle new RedShapeDecorator(new Rectangle());//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();} } 步骤 6执行程序输出结果Circle with normal borderShape: CircleCircle of red borderShape: CircleBorder Color: RedRectangle of red borderShape: RectangleBorder Color: Red这段代码实现了装饰器模式。首先创建了一个Shape接口该接口定义了一个绘制(draw)方法。然后创建了两个实现了Shape接口的具体类Rectangle和Circle它们分别实现了绘制方法用于绘制矩形和圆形。接下来创建了一个抽象装饰类ShapeDecorator它也实现了Shape接口并持有一个Shape类型的成员变量decoratedShape。该类的构造函数接受一个Shape对象作为参数用于装饰该对象。在绘制方法中首先调用被装饰对象的绘制方法然后执行额外的装饰操作。再次创建了一个扩展了ShapeDecorator的具体装饰类RedShapeDecorator。该类在绘制方法中除了调用被装饰对象的绘制方法外还添加了一个设置红色边框的操作。最后在主函数中创建了一个Circle对象和两个经过装饰的对象redCircle和redRectangle。通过调用各个对象的绘制方法可以看到装饰器模式的效果。原始的Circle对象只绘制了圆形而经过装饰的redCircle对象在绘制圆形之后还添加了红色边框的操作。执行程序后输出了三个对象的绘制结果。可以看到原始的Circle对象只绘制了圆形而经过装饰的redCircle对象在绘制圆形之后还添加了红色边框的操作。同样装饰了Rectangle对象的redRectangle对象也具有红色边框。这展示了装饰器模式的应用通过动态地添加额外的行为可以在不修改现有对象的情况下对其进行装饰和扩展。
http://www.pierceye.com/news/554905/

相关文章:

  • 岳阳网站开发网站运营怎么做建设网站设计
  • 能打开各种网站的浏览器下载合集建设农产品网络营销网站
  • 陕西网站建设方案优化如何做网站挂qq
  • 无锡市网站WordPress分类id在哪
  • 网站建设金网站建设 需求模板
  • 提高网站转化率营销网站制作都选ls15227
  • 一级页面的网站怎么做爱疯卷网站怎么做
  • 网站企业快速备案大气的企业网站
  • 一个好的网站建设微网站手机制作
  • 广州市做民宿什么网站比较好图盛网站建设
  • 深圳做网站佰达科技二十七易语言做网站源码
  • 水禾田网站建设公司南沙区做网站
  • 江西赣州网站上海企业服务云电话
  • 洱源网站建设品牌名字大全
  • 网站建设阶段要做什么帝国cms对比WordPress
  • 盐城做企业网站多少钱网页设计个人总结800
  • 北京做兼职网站温州网站建设模板下载免费
  • 推进门户网站建设方案wordpress插件自动更新
  • 学院网站建设成效做网站需要什么功能
  • o2o手机网站建设技术网站设计师专业
  • 传媒网站建设方案wordpress开源博客系统最新版
  • 三合一网站一般多少钱浙江省和住房建设厅网站
  • 网站开发背景知识论文网页设计表格
  • 广州优秀网站建设怎么寻找国外客户资源
  • 松江新城投资建设集团有限公司网站华能电子商务平台
  • 网站建设设计制作公司微网站微商城
  • 长宁企业网站建设个人做外贸怎么做
  • 饲料 东莞网站建设免费推广app
  • 手机平台网站开发品牌网站设计首选
  • 哪些网站可以做调查赚钱图片生成软件