装饰设计模式 2016.10.9

package 装饰设计模式;

/*装饰设计模式

* 当想要对已有的对象进行功能增强时。

* 可以定义类,将已有对象传入,基于已有的功能,并提供加强功能。

* 那么自定义的该类成为装饰类。

* 装饰类通常会通过构造方法接受被装饰的对象。

* 并基于被装饰的对象的功能,提供更强的功能。

*

*

* 装饰模式比继承要灵活,避免了继承体系臃肿

* 而且降低了类与类之间的关系

*

* 装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强的功能

* 所以装饰类和被装饰类通常都属于一个体系中

*

*/

public class PersonDemo {

public void chifan() {

System.out.println("吃饭");

}

public static void main(String[] args) {

// TODO Auto-generated method stub

PersonDemo p = new PersonDemo();

// p.chifan();

SuperPerson sp = new SuperPerson(p);

sp.superChiFan();

}

}

///////////////////////////////

package 装饰设计模式;

public class SuperPerson {

private PersonDemo p;

public SuperPerson(PersonDemo p) {

// TODO Auto-generated constructor stub

this.p = p;

}

public void superChiFan() {

// TODO Auto-generated method stub

System.out.println("开胃酒");

// System.out.println("吃饭");

p.chifan();

System.out.println("smoking");

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,838评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 32,497评论 18 399
  • 一、 1、请用Java写一个冒泡排序方法 【参考答案】 public static void Bubble(int...
    独云阅读 5,255评论 0 6
  • END周二下午好! :) 【如果需要PPT版源文件,可以在评论区留言。】
    吴翰中阅读 2,948评论 1 3
  • 突然发现,自己一无所有。 输的一败涂地。 一无所有,一败涂地。
    铅笔只演绎黑白阅读 1,243评论 4 2

友情链接更多精彩内容