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

宁波学校网站建设手机网站菜单

宁波学校网站建设,手机网站菜单,威联通231p做网站,中山公司做网站装饰器模式(Decorator) 装饰器模式是一种结构模式,通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能,是现有类的包装。 图解 角色 抽象组件:定义组件的抽象方法具体组件:实现组件的抽象方法抽象装饰器&…

装饰器模式(Decorator)

装饰器模式是一种结构模式,通过装饰器模式可以在不改变原有类结构的情况下向一个新对象添加新功能,是现有类的包装。

图解请添加图片描述

角色

  1. 抽象组件:定义组件的抽象方法
  2. 具体组件:实现组件的抽象方法
  3. 抽象装饰器:实现抽象组件接口,聚合具体组件
  4. 具体装饰器:定义装饰方法,重写抽象组件的抽象方法,并在方法内调用具体组件的方法实现和装饰方法

代码示例

抽象组件:

public interface Shape {void paint();
}

具体组件:

public class Rotundity implements Shape {@Overridepublic void paint() {System.out.println("画了一个圆形");}
}public class Triangle implements Shape{@Overridepublic void paint() {System.out.println("画了一个三角形");}
}

抽象装饰器

public abstract class ShapeDecorator implements Shape{protected Shape shape;public ShapeDecorator(Shape shape) {this.shape = shape;}
}

具体装饰器

/** 颜色装饰*/
public class ColorDecorator extends ShapeDecorator{public ColorDecorator(Shape shape) {super(shape);}@Overridepublic void paint() {shape.paint();filling();}private void filling(){System.out.println("并填充颜色");}
}
/** 字体装饰*/
public class FontDecorator extends ShapeDecorator{public FontDecorator(Shape shape) {super(shape);}@Overridepublic void paint() {shape.paint();changePaint();}public void changePaint(){System.out.println("并加粗了字体");}
}

使用

public class Test {public static void main(String[] args) {Shape triangle = new Triangle();Shape rotundity = new Rotundity();Shape triangleColorDecorator = new ColorDecorator(triangle);Shape rotundityColorDecorator = new ColorDecorator(rotundity);System.out.println("画一个三角形,并填充颜色:");triangleColorDecorator.paint();System.out.println("画一个圆形,并填充颜色,在加粗字体:");FontDecorator fontDecorator = new FontDecorator(rotundityColorDecorator);fontDecorator.paint();}
}
画一个三角形,并填充颜色:
画了一个三角形
并填充颜色
画一个圆形,并填充颜色,在加粗字体:
画了一个圆形
并填充颜色
并加粗了字体
http://www.yayakq.cn/news/656877/

相关文章:

  • 网站建设费怎样摊销小型企业网站建设模板
  • 注册网站入口dns看国外网站
  • 沧浪企业建设网站价格哪家公司建网站最好
  • WordPress discuz 仿站开发商破产清算赔偿五大顺序
  • 发布一个网站要多少钱免费小程序平台
  • 网站开发学习流程网站开发和维护费用
  • 自动化设备技术支持东莞网站建设搞好姓氏源流网站建设
  • 国家电网 两学一做 网站大庆seo公司
  • 网站开发和设计人员的岗位要求网站炫酷首页
  • 深圳网站建设联雅网络嘉兴 做网站 推广
  • 在线设计装修的网站百度收录方法
  • 怎么做网站优化湛江网站关键字优化
  • 没有网站可以做seo洛阳网站排名
  • 福建省第一电力建设公司网站手机h5网站开发
  • 英语外贸网站建设更换网站logo
  • 宁波seo建站价格手机如何做车载mp3下载网站
  • wordpress闭站中小企业网络营销现状
  • 如何用php数据库做网站静态网站怎么制作
  • 深度科技商业官方网站网站修改解析怎么做
  • 物价局网站建设情况汇报国外网站购物
  • 百度收录自适应网站网站加速工具
  • 检测网站的seo效果派代网
  • 网站建设 内容缺乏欧美色影网站
  • 慈溪市网站制作网站空间服务商查询
  • 中企动力的网站如何十大技能培训机构排名
  • 网站推广计划效果外包网页制作页面多少钱一张
  • 乐清网站改版公司湛江seo哪家好
  • 怎么增加网站首页权重手机网站 微信链接怎么做
  • 企业没有网站怎么做seo优化找做模型方案去哪个网站
  • 谁可以教我做网站外行学习个人网站建设