装饰设计模式:当想要对已有的对象进行功能增强时,可以自定义类将已有的对象传入,并提供加强功能,自定义的该类称为装饰类

典型的:

Reader--FileReader

--BufferedReader

class Decorator{
public void eat(){
System.out.println("吃饭");
}
}
public class DecoratorDemo extends Decorator{
public DecoratorDemo() {
}
public DecoratorDemo(Decorator d) {
}
/**
* @param args
*/
public static void main(String[] args) {
//使用继承来增强功能,体系会很臃肿
Decorator dd=new DecoratorDemo();
dd.eat();//输出 孩子吃饭 //使用装饰器模式增强功能,增强某一个功能
//构造参数传递
DecoratorDemo dd2=new DecoratorDemo(new Decorator());
dd2.eatFoods(); }
public void eat(){
System.out.println("孩子吃饭");
}
public void eatFoods(){
System.out.println("孩子吃饭");
}
}

最新文章

  1. Theano: CNMeM is disabled, CuDNN not available
  2. 用c和c++的方式实现栈
  3. 使用VSTS/TFS搭建iOS持续集成环境
  4. staging server, source congtrol, deply workflow using git
  5. 【BZOJ 1067】 [SCOI2007]降雨量
  6. linux 内核之旅
  7. JS单元测试框架:QUnit
  8. 学OpenGL的一些好的网站
  9. php 获取汉字拼音首字母的函数
  10. 重写javascript浮点运算
  11. Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
  12. 【转】Android hdpi ldpi mdpi xhdpi xxhdpi适配详解
  13. web socket
  14. .NET Core开发日志——Startup
  15. android Keycode 完全对照表
  16. Linux 创建用户并赋予 Sudo 权限
  17. js获取客户端ip地址
  18. 关于sudo 权限被修改的解决方法
  19. HDU 5842 Lweb and String 水题
  20. SpringBoot2 启动报错 Failed to auto-configure a DataSource

热门文章

  1. 比较有用的php代码片段
  2. html页面pc显示正常,在手机端适配也可以看整个页面
  3. Python 各种编码相互转化 (目前只有Unicode utf-8)
  4. 【bug】—— IE8 ajax 报错:no transport
  5. Java 自定义注解与注解解析实例
  6. SpringMvc redirect
  7. 【C#】自定义新建一个DataTable(3列),循环3维矩形数组往其填充数据
  8. Eclipse 的SVN 插件
  9. windows mobile ,wince 系统,用代码启动cab文件安装
  10. win10开启 linux Bash命令(win10内置了linux系统支持)