美文网首页
装饰设计模式 2016.10.9

装饰设计模式 2016.10.9

作者: 大虾咪 | 来源:发表于2016-10-09 10:29 被阅读30次

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");

}

}

相关文章

网友评论

      本文标题: 装饰设计模式 2016.10.9

      本文链接:https://www.haomeiwen.com/subject/ovupyttx.html